openapi: 3.1.0
info:
  title: Switchgrid API v0
  version: 0.1.0
  description: API for collecting user consent and consumption data.
paths:
  /ask:
    post:
      tags:
        - asks
      operationId: ask
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            default: v0
          description: API version header. Use 'v0' for this version.
        - name: switchgrid-test-env
          in: header
          schema:
            anyOf:
              - type: string
                enum:
                  - "true"
                  - "false"
              - type: "null"
          required: false
      security:
        - bearerAuth: []
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      id:
                        $ref: "#/components/schemas/Prm"
                      createdAt:
                        type: string
                        examples:
                          - 2024-12-10T00:00:00
                          - 2024-12-10T12:00:00Z
                          - 2024-12-10T00:00:00+01:00
                          - 2024-12-10
                          - 2024-12-10T00:00:00[Europe/Paris]
                          - 2024-12-10T00:00:00[CET]
                      acceptedAt:
                        anyOf:
                          - type: string
                            examples:
                              - 2024-12-10T00:00:00
                              - 2024-12-10T12:00:00Z
                              - 2024-12-10T00:00:00+01:00
                              - 2024-12-10
                              - 2024-12-10T00:00:00[Europe/Paris]
                              - 2024-12-10T00:00:00[CET]
                          - type: "null"
                      consentCollectionDetails:
                        anyOf:
                          - anyOf:
                              - type: object
                                properties:
                                  service:
                                    type: string
                                    enum:
                                      - DOCUSEAL
                                  userUrl:
                                    $ref: "#/components/schemas/Url"
                                required:
                                  - service
                                  - userUrl
                                additionalProperties: false
                              - type: object
                                properties:
                                  service:
                                    type: string
                                    enum:
                                      - WEB_HOSTED
                                  userUrl:
                                    $ref: "#/components/schemas/Url1"
                                required:
                                  - service
                                  - userUrl
                                additionalProperties: false
                              - type: object
                                properties:
                                  service:
                                    type: string
                                    enum:
                                      - REGISTERED_CONSENT
                                required:
                                  - service
                                additionalProperties: false
                          - type: "null"
                      expiresAt:
                        anyOf:
                          - type: string
                            examples:
                              - 2024-12-10T00:00:00
                              - 2024-12-10T12:00:00Z
                              - 2024-12-10T00:00:00+01:00
                              - 2024-12-10
                              - 2024-12-10T00:00:00[Europe/Paris]
                              - 2024-12-10T00:00:00[CET]
                          - type: "null"
                        description: When the consent will expire, computed from acceptedAt +
                          consentDuration. Null until the ask is accepted.
                      purposes:
                        type: array
                        items:
                          anyOf:
                            - type: string
                              enum:
                                - SOLAR_INSTALLATION_SIZING
                              title: Sizing of a solar installation
                            - type: string
                              enum:
                                - DEMAND_RESPONSE
                              title: Demand response
                            - type: string
                              enum:
                                - ENERGY_PERFORMANCE_STUDY
                              title: Energy performance study
                            - type: string
                              enum:
                                - ENERGY_BROKERAGE
                              title: Energy brokerage
                            - type: string
                              enum:
                                - VEHICLE_CHARGE_DETECTION
                              title: Detection of a vehicle charge
                      testEnvironment:
                        type: boolean
                      thirdPartyRecipients:
                        type: array
                        items:
                          $ref: "#/components/schemas/Prm"
                      contracts:
                        type: array
                        items:
                          type: object
                          properties:
                            deliveryPointId:
                              type: string
                            seq:
                              anyOf:
                                - anyOf:
                                    - type: number
                                    - type: string
                                      enum:
                                        - NaN
                                    - type: string
                                      enum:
                                        - Infinity
                                    - type: string
                                      enum:
                                        - -Infinity
                                - type: string
                                  enum:
                                    - Infinity
                                    - -Infinity
                                    - NaN
                            status:
                              type: string
                              enum:
                                - PENDING_VALIDITY_CHECK
                                - NOT_VALID
                                - VALID
                                - PENDING_PROOF_VERIFICATION
                                - PENDING_DSO_ACTION
                                - GRANTED
                                - DENIED
                                - REVOKED
                                - EXPIRED
                            proofId:
                              anyOf:
                                - $ref: "#/components/schemas/Prm"
                                - type: "null"
                            statusText:
                              anyOf:
                                - type: object
                                  properties:
                                    en:
                                      $ref: "#/components/schemas/Prm"
                                    fr:
                                      $ref: "#/components/schemas/Prm"
                                  required:
                                    - en
                                    - fr
                                  additionalProperties: false
                                - type: "null"
                          required:
                            - deliveryPointId
                            - seq
                            - status
                          additionalProperties: false
                      status:
                        anyOf:
                          - type: string
                            enum:
                              - ACCEPTED
                            title: ACCEPTED
                          - type: string
                            enum:
                              - REVOKED
                            title: REVOKED
                          - type: string
                            enum:
                              - EXPIRED
                            title: EXPIRED
                      signer:
                        type: object
                        properties:
                          lastName:
                            $ref: "#/components/schemas/Prm"
                          firstName:
                            $ref: "#/components/schemas/Prm"
                          organizationName:
                            anyOf:
                              - type: string
                                allOf:
                                  - minLength: 1
                              - type: "null"
                          phone:
                            anyOf:
                              - $ref: "#/components/schemas/Prm"
                              - type: "null"
                          email:
                            anyOf:
                              - $ref: "#/components/schemas/Prm"
                              - type: "null"
                        required:
                          - lastName
                          - firstName
                        additionalProperties: false
                    required:
                      - id
                      - createdAt
                      - acceptedAt
                      - consentCollectionDetails
                      - expiresAt
                      - purposes
                      - testEnvironment
                      - thirdPartyRecipients
                      - contracts
                      - status
                      - signer
                    additionalProperties: false
                  - type: object
                    properties:
                      id:
                        $ref: "#/components/schemas/Prm"
                      createdAt:
                        type: string
                        examples:
                          - 2024-12-10T00:00:00
                          - 2024-12-10T12:00:00Z
                          - 2024-12-10T00:00:00+01:00
                          - 2024-12-10
                          - 2024-12-10T00:00:00[Europe/Paris]
                          - 2024-12-10T00:00:00[CET]
                      acceptedAt:
                        anyOf:
                          - type: string
                            examples:
                              - 2024-12-10T00:00:00
                              - 2024-12-10T12:00:00Z
                              - 2024-12-10T00:00:00+01:00
                              - 2024-12-10
                              - 2024-12-10T00:00:00[Europe/Paris]
                              - 2024-12-10T00:00:00[CET]
                          - type: "null"
                      consentCollectionDetails:
                        anyOf:
                          - anyOf:
                              - type: object
                                properties:
                                  service:
                                    type: string
                                    enum:
                                      - DOCUSEAL
                                  userUrl:
                                    $ref: "#/components/schemas/Url"
                                required:
                                  - service
                                  - userUrl
                                additionalProperties: false
                              - type: object
                                properties:
                                  service:
                                    type: string
                                    enum:
                                      - WEB_HOSTED
                                  userUrl:
                                    $ref: "#/components/schemas/Url1"
                                required:
                                  - service
                                  - userUrl
                                additionalProperties: false
                              - type: object
                                properties:
                                  service:
                                    type: string
                                    enum:
                                      - REGISTERED_CONSENT
                                required:
                                  - service
                                additionalProperties: false
                          - type: "null"
                      expiresAt:
                        anyOf:
                          - type: string
                            examples:
                              - 2024-12-10T00:00:00
                              - 2024-12-10T12:00:00Z
                              - 2024-12-10T00:00:00+01:00
                              - 2024-12-10
                              - 2024-12-10T00:00:00[Europe/Paris]
                              - 2024-12-10T00:00:00[CET]
                          - type: "null"
                        description: When the consent will expire, computed from acceptedAt +
                          consentDuration. Null until the ask is accepted.
                      purposes:
                        type: array
                        items:
                          anyOf:
                            - type: string
                              enum:
                                - SOLAR_INSTALLATION_SIZING
                              title: Sizing of a solar installation
                            - type: string
                              enum:
                                - DEMAND_RESPONSE
                              title: Demand response
                            - type: string
                              enum:
                                - ENERGY_PERFORMANCE_STUDY
                              title: Energy performance study
                            - type: string
                              enum:
                                - ENERGY_BROKERAGE
                              title: Energy brokerage
                            - type: string
                              enum:
                                - VEHICLE_CHARGE_DETECTION
                              title: Detection of a vehicle charge
                      testEnvironment:
                        type: boolean
                      thirdPartyRecipients:
                        type: array
                        items:
                          $ref: "#/components/schemas/Prm"
                      contracts:
                        type: array
                        items:
                          type: object
                          properties:
                            deliveryPointId:
                              type: string
                            seq:
                              anyOf:
                                - anyOf:
                                    - type: number
                                    - type: string
                                      enum:
                                        - NaN
                                    - type: string
                                      enum:
                                        - Infinity
                                    - type: string
                                      enum:
                                        - -Infinity
                                - type: string
                                  enum:
                                    - Infinity
                                    - -Infinity
                                    - NaN
                            status:
                              type: string
                              enum:
                                - PENDING_VALIDITY_CHECK
                                - NOT_VALID
                                - VALID
                                - PENDING_PROOF_VERIFICATION
                                - PENDING_DSO_ACTION
                                - GRANTED
                                - DENIED
                                - REVOKED
                                - EXPIRED
                            proofId:
                              anyOf:
                                - $ref: "#/components/schemas/Prm"
                                - type: "null"
                            statusText:
                              anyOf:
                                - type: object
                                  properties:
                                    en:
                                      $ref: "#/components/schemas/Prm"
                                    fr:
                                      $ref: "#/components/schemas/Prm"
                                  required:
                                    - en
                                    - fr
                                  additionalProperties: false
                                - type: "null"
                          required:
                            - deliveryPointId
                            - seq
                            - status
                          additionalProperties: false
                      status:
                        anyOf:
                          - type: string
                            enum:
                              - CREATED
                            title: CREATED
                          - type: string
                            enum:
                              - PENDING_USER_ACTION
                            title: PENDING_USER_ACTION
                          - type: string
                            enum:
                              - NOT_VALID
                            title: NOT_VALID
                      signer:
                        anyOf:
                          - type: object
                            properties:
                              lastName:
                                $ref: "#/components/schemas/Prm"
                              firstName:
                                $ref: "#/components/schemas/Prm"
                              organizationName:
                                anyOf:
                                  - type: string
                                    allOf:
                                      - minLength: 1
                                  - type: "null"
                              phone:
                                anyOf:
                                  - $ref: "#/components/schemas/Prm"
                                  - type: "null"
                              email:
                                anyOf:
                                  - $ref: "#/components/schemas/Prm"
                                  - type: "null"
                            required:
                              - lastName
                              - firstName
                            additionalProperties: false
                          - type: "null"
                    required:
                      - id
                      - createdAt
                      - acceptedAt
                      - consentCollectionDetails
                      - expiresAt
                      - purposes
                      - testEnvironment
                      - thirdPartyRecipients
                      - contracts
                      - status
                      - signer
                    additionalProperties: false
        "400":
          description: BadRequest
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/BadRequest"
                  - $ref: "#/components/schemas/BadRequest1"
        "401":
          description: Some credentials are required to access this resource | Unauthorized
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/Unauthorized"
                  - $ref: "#/components/schemas/effect_HttpApiError_Unauthorized"
        "403":
          description: You don't have permission to access this resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Forbidden"
        "500":
          description: An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Unexpected"
      summary: Create an Ask
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                contracts:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: object
                        properties:
                          _energyType:
                            type: string
                            enum:
                              - electricity
                          deliveryPointId:
                            anyOf:
                              - $ref: "#/components/schemas/Prm"
                              - $ref: "#/components/schemas/Prm"
                              - $ref: "#/components/schemas/TestRtpl"
                            examples:
                              - "00059461297239"
                          holder:
                            anyOf:
                              - type: object
                                properties:
                                  _tag:
                                    type: string
                                    enum:
                                      - LegalEntity
                                  name:
                                    type: string
                                    title: Name
                                    description: The name under which the the legal entity in registered.
                                  otherNames:
                                    anyOf:
                                      - type: array
                                        items:
                                          $ref: "#/components/schemas/Prm"
                                        allOf:
                                          - maxItems: 2
                                      - type: "null"
                                    description: Other names of the legal entity. Max 2 names. Could be a brand or
                                      former names of that legal entity.
                                required:
                                  - _tag
                                  - name
                                additionalProperties: false
                                title: Legal Entity
                                description: A legal entity.
                              - type: object
                                properties:
                                  _tag:
                                    type: string
                                    enum:
                                      - NaturalPerson
                                  fullName:
                                    type: string
                                    title: Full Name
                                    description: The full name of the natural person.
                                    examples:
                                      - Jean Dupont
                                required:
                                  - _tag
                                  - fullName
                                additionalProperties: false
                                title: Natural Person
                                description: A natural person. _Personne morale_ in French.
                            description: The legal person or legal entity that holds the contract.
                          address:
                            type: object
                            properties:
                              appartementBatiment:
                                anyOf:
                                  - $ref: "#/components/schemas/Prm"
                                  - type: "null"
                              lieuDit:
                                anyOf:
                                  - $ref: "#/components/schemas/Prm"
                                  - type: "null"
                              rueEtNumero:
                                anyOf:
                                  - $ref: "#/components/schemas/Prm"
                                  - type: "null"
                              codePostal:
                                $ref: "#/components/schemas/Prm"
                              commune:
                                $ref: "#/components/schemas/Prm"
                            required:
                              - codePostal
                              - commune
                            additionalProperties: false
                            description: The address of the contract holder.
                        required:
                          - _energyType
                          - deliveryPointId
                          - holder
                          - address
                        additionalProperties: false
                        title: French Electricity Contract
                        description: A French electricity contract.
                      - type: object
                        properties:
                          _energyType:
                            type: string
                            enum:
                              - gas
                          deliveryPointId:
                            $ref: "#/components/schemas/Pce"
                          holder:
                            anyOf:
                              - type: object
                                properties:
                                  _tag:
                                    type: string
                                    enum:
                                      - LegalEntity
                                  name:
                                    type: string
                                    title: Name
                                    description: The name under which the the legal entity in registered.
                                  otherNames:
                                    anyOf:
                                      - type: array
                                        items:
                                          $ref: "#/components/schemas/Prm"
                                        allOf:
                                          - maxItems: 2
                                      - type: "null"
                                    description: Other names of the legal entity. Max 2 names. Could be a brand or
                                      former names of that legal entity.
                                required:
                                  - _tag
                                  - name
                                additionalProperties: false
                                title: Legal Entity
                                description: A legal entity.
                              - type: object
                                properties:
                                  _tag:
                                    type: string
                                    enum:
                                      - NaturalPerson
                                  fullName:
                                    type: string
                                    title: Full Name
                                    description: The full name of the natural person.
                                    examples:
                                      - Jean Dupont
                                required:
                                  - _tag
                                  - fullName
                                additionalProperties: false
                                title: Natural Person
                                description: A natural person. _Personne morale_ in French.
                            description: The legal person or legal entity that holds the contract.
                          address:
                            type: object
                            properties:
                              appartementBatiment:
                                anyOf:
                                  - $ref: "#/components/schemas/Prm"
                                  - type: "null"
                              lieuDit:
                                anyOf:
                                  - $ref: "#/components/schemas/Prm"
                                  - type: "null"
                              rueEtNumero:
                                anyOf:
                                  - $ref: "#/components/schemas/Prm"
                                  - type: "null"
                              codePostal:
                                $ref: "#/components/schemas/Prm"
                              commune:
                                $ref: "#/components/schemas/Prm"
                            required:
                              - codePostal
                              - commune
                            additionalProperties: false
                            description: The address of the contract holder.
                        required:
                          - _energyType
                          - deliveryPointId
                          - holder
                          - address
                        additionalProperties: false
                        title: French Gas Contract
                        description: A French gas contract.
                signer:
                  anyOf:
                    - type: object
                      properties:
                        genre:
                          anyOf:
                            - anyOf:
                                - type: string
                                  enum:
                                    - M
                                    - F
                                - type: "null"
                            - type: "null"
                        lastName:
                          anyOf:
                            - $ref: "#/components/schemas/Prm"
                            - type: "null"
                        firstName:
                          anyOf:
                            - $ref: "#/components/schemas/Prm"
                            - type: "null"
                        organizationName:
                          anyOf:
                            - anyOf:
                                - type: string
                                  allOf:
                                    - minLength: 1
                                - type: "null"
                            - type: "null"
                        phone:
                          anyOf:
                            - anyOf:
                                - $ref: "#/components/schemas/Prm"
                                - type: "null"
                            - type: "null"
                        email:
                          anyOf:
                            - anyOf:
                                - $ref: "#/components/schemas/Prm"
                                - type: "null"
                            - type: "null"
                      additionalProperties: false
                      description: >-
                        The person signing the Consent request.

                        For WEB_CONSENT, all fields are optional (the user will
                        be able to fill their names and project).

                        For DOCUSEAL, fields firstName & lastName are required.
                    - type: "null"
                consentCollectionMedium:
                  anyOf:
                    - $ref: "#/components/schemas/ConsentCollectionMedium"
                    - type: "null"
                options:
                  anyOf:
                    - type: object
                      properties:
                        skipAddressCheck:
                          anyOf:
                            - type: boolean
                            - type: "null"
                      additionalProperties: false
                    - type: "null"
                scopes:
                  anyOf:
                    - type: array
                      items:
                        anyOf:
                          - anyOf:
                              - type: object
                                properties:
                                  service:
                                    type: string
                                    enum:
                                      - ENEDIS_RAW_API
                                  id:
                                    type: string
                                    enum:
                                      - DETAILS_CONTRACTUELS
                                required:
                                  - service
                                  - id
                                additionalProperties: false
                              - type: object
                                properties:
                                  service:
                                    type: string
                                    enum:
                                      - ENEDIS_RAW_API
                                  id:
                                    type: string
                                    enum:
                                      - CONSUMPTION_DATA
                                  args:
                                    type: object
                                    properties:
                                      types:
                                        type: array
                                        items:
                                          type: string
                                          enum:
                                            - CDC
                                            - PMAX
                                            - IDX
                                            - ENERGIE
                                      directions:
                                        type: array
                                        items:
                                          type: string
                                          enum:
                                            - SOUTIRAGE
                                            - INJECTION
                                    required:
                                      - types
                                      - directions
                                    additionalProperties: false
                                required:
                                  - service
                                  - id
                                  - args
                                additionalProperties: false
                          - anyOf:
                              - type: object
                                properties:
                                  id:
                                    type: string
                                    enum:
                                      - ELECTRICITY_TIMESERIES
                                  args:
                                    type: object
                                    properties:
                                      types:
                                        type: array
                                        items:
                                          type: string
                                          enum:
                                            - LOADCURVE
                                      directions:
                                        type: array
                                        items:
                                          type: string
                                          enum:
                                            - CONSUMPTION
                                            - INJECTION
                                    required:
                                      - types
                                      - directions
                                    additionalProperties: false
                                required:
                                  - id
                                  - args
                                additionalProperties: false
                              - type: object
                                properties:
                                  id:
                                    type: string
                                    enum:
                                      - GAS_TIMESERIES
                                  args:
                                    type: object
                                    properties:
                                      types:
                                        type: array
                                        items:
                                          type: string
                                          enum:
                                            - BILLING
                                            - DAILY
                                      directions:
                                        type: array
                                        items:
                                          type: string
                                          enum:
                                            - CONSUMPTION
                                            - INJECTION
                                    required:
                                      - types
                                      - directions
                                    additionalProperties: false
                                required:
                                  - id
                                  - args
                                additionalProperties: false
                              - type: object
                                properties:
                                  id:
                                    type: string
                                    enum:
                                      - GAS_CONTRACT_DETAILS
                                required:
                                  - id
                                additionalProperties: false
                    - type: "null"
                purposes:
                  anyOf:
                    - type: array
                      items:
                        anyOf:
                          - anyOf:
                              - type: string
                                enum:
                                  - SOLAR_INSTALLATION_SIZING
                                title: Sizing of a solar installation
                              - type: string
                                enum:
                                  - DEMAND_RESPONSE
                                title: Demand response
                              - type: string
                                enum:
                                  - ENERGY_PERFORMANCE_STUDY
                                title: Energy performance study
                              - type: string
                                enum:
                                  - ENERGY_BROKERAGE
                                title: Energy brokerage
                              - type: string
                                enum:
                                  - VEHICLE_CHARGE_DETECTION
                                title: Detection of a vehicle charge
                          - type: object
                            properties:
                              id:
                                anyOf:
                                  - type: string
                                    enum:
                                      - SOLAR_INSTALLATION_SIZING
                                    title: Sizing of a solar installation
                                  - type: string
                                    enum:
                                      - DEMAND_RESPONSE
                                    title: Demand response
                                  - type: string
                                    enum:
                                      - ENERGY_PERFORMANCE_STUDY
                                    title: Energy performance study
                                  - type: string
                                    enum:
                                      - ENERGY_BROKERAGE
                                    title: Energy brokerage
                                  - type: string
                                    enum:
                                      - VEHICLE_CHARGE_DETECTION
                                    title: Detection of a vehicle charge
                            required:
                              - id
                            additionalProperties: false
                    - type: "null"
                consentDuration:
                  anyOf:
                    - type: string
                      enum:
                        - 1 day
                        - 2 days
                        - 3 days
                        - 4 days
                        - 5 days
                        - 6 days
                        - 1 week
                        - 2 weeks
                        - 3 weeks
                        - 4 weeks
                        - 1 month
                        - 2 months
                        - 3 months
                        - 4 months
                        - 5 months
                        - 6 months
                        - 1 year
                        - 2 years
                        - 3 years
                        - 4 years
                        - 5 years
                        - 6 years
                        - 7 years
                        - 8 years
                        - 9 years
                        - 10 years
                        - 11 years
                        - 12 years
                        - 13 years
                        - 14 years
                        - 15 years
                        - 16 years
                        - 17 years
                        - 18 years
                        - 19 years
                        - 20 years
                    - type: "null"
                thirdPartyRecipients:
                  anyOf:
                    - type: array
                      items:
                        $ref: "#/components/schemas/Prm"
                      description: Optional list of slugs identifying third parties who will get
                        access to the data after consent is given.
                    - type: "null"
                projectId:
                  anyOf:
                    - $ref: "#/components/schemas/Prm"
                    - type: "null"
              required:
                - contracts
              additionalProperties: false
              examples:
                - contracts:
                    - 606b5149-1ef0-414a-8019-a050f64cc0ac
                - contracts:
                    - 606b5149-1ef0-414a-8019-a050f64cc0ac
                  consentDuration: 1 year
                  signer:
                    email: signer-J6Kmg@domain.com
                    firstName: firstName
                    lastName: lastName
                  purposes:
                    - SOLAR_INSTALLATION_SIZING
        required: true
    get:
      tags:
        - asks
      operationId: getAsks
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            default: v0
          description: API version header. Use 'v0' for this version.
        - name: switchgrid-test-env
          in: header
          schema:
            anyOf:
              - type: string
                enum:
                  - "true"
                  - "false"
              - type: "null"
          required: false
        - name: deliveryPointIds
          in: query
          schema:
            anyOf:
              - $ref: "#/components/schemas/Prm"
              - type: "null"
          required: false
          description: Comma-separated list of delivery point ids (PRM for electricity,
            PCE for gas). Prefix an id with `!` to exclude it, e.g.
            `!00069098505221`.
          example: 00027046521843,GI123456
        - name: prm
          in: query
          schema:
            anyOf:
              - $ref: "#/components/schemas/Prm"
              - type: "null"
          required: false
          description: "**Deprecated**: use `deliveryPointIds` instead. Comma-separated
            list of PRMs. Prefix a PRM with `!` to exclude it."
          deprecated: true
          example: 00027046521843,00077145296439
        - name: status
          in: query
          schema:
            anyOf:
              - $ref: "#/components/schemas/Prm"
              - type: "null"
          required: false
          description: Comma-separated list of statuses. Prefix a status with `!` to
            exclude it. If multiple statuses are provided, the ask must match at
            least one of them, but not match any of the excluded statuses.
          example: PENDING_USER_ACTION,ACCEPTED
        - name: skip
          in: query
          schema:
            anyOf:
              - type: string
              - type: "null"
          required: false
          description: Number of asks to skip, for pagination. Defaults to 0.
          example: "0"
        - name: limit
          in: query
          schema:
            anyOf:
              - type: string
              - type: "null"
          required: false
          description: Maximum number of asks to return, up to 100. Defaults to 10.
          example: "50"
        - name: orderBy
          in: query
          schema:
            anyOf:
              - $ref: "#/components/schemas/Prm"
              - type: "null"
          required: false
          description: "Comma-separated list of `field:direction` pairs. Fields: `status`,
            `createdAt`, `acceptedAt`. Directions: `asc`, `desc`."
          example: createdAt:desc
      security:
        - bearerAuth: []
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  skip:
                    anyOf:
                      - anyOf:
                          - type: number
                          - type: string
                            enum:
                              - NaN
                          - type: string
                            enum:
                              - Infinity
                          - type: string
                            enum:
                              - -Infinity
                      - type: string
                        enum:
                          - Infinity
                          - -Infinity
                          - NaN
                  limit:
                    anyOf:
                      - anyOf:
                          - type: number
                          - type: string
                            enum:
                              - NaN
                          - type: string
                            enum:
                              - Infinity
                          - type: string
                            enum:
                              - -Infinity
                      - type: string
                        enum:
                          - Infinity
                          - -Infinity
                          - NaN
                  totalItemsCount:
                    anyOf:
                      - anyOf:
                          - type: number
                          - type: string
                            enum:
                              - NaN
                          - type: string
                            enum:
                              - Infinity
                          - type: string
                            enum:
                              - -Infinity
                      - type: string
                        enum:
                          - Infinity
                          - -Infinity
                          - NaN
                  returnedItemsCount:
                    anyOf:
                      - anyOf:
                          - type: number
                          - type: string
                            enum:
                              - NaN
                          - type: string
                            enum:
                              - Infinity
                          - type: string
                            enum:
                              - -Infinity
                      - type: string
                        enum:
                          - Infinity
                          - -Infinity
                          - NaN
                  items:
                    type: array
                    items:
                      anyOf:
                        - type: object
                          properties:
                            id:
                              $ref: "#/components/schemas/Prm"
                            createdAt:
                              type: string
                              examples:
                                - 2024-12-10T00:00:00
                                - 2024-12-10T12:00:00Z
                                - 2024-12-10T00:00:00+01:00
                                - 2024-12-10
                                - 2024-12-10T00:00:00[Europe/Paris]
                                - 2024-12-10T00:00:00[CET]
                            acceptedAt:
                              anyOf:
                                - type: string
                                  examples:
                                    - 2024-12-10T00:00:00
                                    - 2024-12-10T12:00:00Z
                                    - 2024-12-10T00:00:00+01:00
                                    - 2024-12-10
                                    - 2024-12-10T00:00:00[Europe/Paris]
                                    - 2024-12-10T00:00:00[CET]
                                - type: "null"
                            consentCollectionDetails:
                              anyOf:
                                - anyOf:
                                    - type: object
                                      properties:
                                        service:
                                          type: string
                                          enum:
                                            - DOCUSEAL
                                        userUrl:
                                          $ref: "#/components/schemas/Url"
                                      required:
                                        - service
                                        - userUrl
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        service:
                                          type: string
                                          enum:
                                            - WEB_HOSTED
                                        userUrl:
                                          $ref: "#/components/schemas/Url1"
                                      required:
                                        - service
                                        - userUrl
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        service:
                                          type: string
                                          enum:
                                            - REGISTERED_CONSENT
                                      required:
                                        - service
                                      additionalProperties: false
                                - type: "null"
                            expiresAt:
                              anyOf:
                                - type: string
                                  examples:
                                    - 2024-12-10T00:00:00
                                    - 2024-12-10T12:00:00Z
                                    - 2024-12-10T00:00:00+01:00
                                    - 2024-12-10
                                    - 2024-12-10T00:00:00[Europe/Paris]
                                    - 2024-12-10T00:00:00[CET]
                                - type: "null"
                              description: When the consent will expire, computed from acceptedAt +
                                consentDuration. Null until the ask is accepted.
                            purposes:
                              type: array
                              items:
                                anyOf:
                                  - type: string
                                    enum:
                                      - SOLAR_INSTALLATION_SIZING
                                    title: Sizing of a solar installation
                                  - type: string
                                    enum:
                                      - DEMAND_RESPONSE
                                    title: Demand response
                                  - type: string
                                    enum:
                                      - ENERGY_PERFORMANCE_STUDY
                                    title: Energy performance study
                                  - type: string
                                    enum:
                                      - ENERGY_BROKERAGE
                                    title: Energy brokerage
                                  - type: string
                                    enum:
                                      - VEHICLE_CHARGE_DETECTION
                                    title: Detection of a vehicle charge
                            testEnvironment:
                              type: boolean
                            thirdPartyRecipients:
                              type: array
                              items:
                                $ref: "#/components/schemas/Prm"
                            contracts:
                              type: array
                              items:
                                type: object
                                properties:
                                  deliveryPointId:
                                    type: string
                                  seq:
                                    anyOf:
                                      - anyOf:
                                          - type: number
                                          - type: string
                                            enum:
                                              - NaN
                                          - type: string
                                            enum:
                                              - Infinity
                                          - type: string
                                            enum:
                                              - -Infinity
                                      - type: string
                                        enum:
                                          - Infinity
                                          - -Infinity
                                          - NaN
                                  status:
                                    type: string
                                    enum:
                                      - PENDING_VALIDITY_CHECK
                                      - NOT_VALID
                                      - VALID
                                      - PENDING_PROOF_VERIFICATION
                                      - PENDING_DSO_ACTION
                                      - GRANTED
                                      - DENIED
                                      - REVOKED
                                      - EXPIRED
                                  proofId:
                                    anyOf:
                                      - $ref: "#/components/schemas/Prm"
                                      - type: "null"
                                  statusText:
                                    anyOf:
                                      - type: object
                                        properties:
                                          en:
                                            $ref: "#/components/schemas/Prm"
                                          fr:
                                            $ref: "#/components/schemas/Prm"
                                        required:
                                          - en
                                          - fr
                                        additionalProperties: false
                                      - type: "null"
                                required:
                                  - deliveryPointId
                                  - seq
                                  - status
                                additionalProperties: false
                            status:
                              anyOf:
                                - type: string
                                  enum:
                                    - ACCEPTED
                                  title: ACCEPTED
                                - type: string
                                  enum:
                                    - REVOKED
                                  title: REVOKED
                                - type: string
                                  enum:
                                    - EXPIRED
                                  title: EXPIRED
                            signer:
                              type: object
                              properties:
                                lastName:
                                  $ref: "#/components/schemas/Prm"
                                firstName:
                                  $ref: "#/components/schemas/Prm"
                                organizationName:
                                  anyOf:
                                    - type: string
                                      allOf:
                                        - minLength: 1
                                    - type: "null"
                                phone:
                                  anyOf:
                                    - $ref: "#/components/schemas/Prm"
                                    - type: "null"
                                email:
                                  anyOf:
                                    - $ref: "#/components/schemas/Prm"
                                    - type: "null"
                              required:
                                - lastName
                                - firstName
                              additionalProperties: false
                          required:
                            - id
                            - createdAt
                            - acceptedAt
                            - consentCollectionDetails
                            - expiresAt
                            - purposes
                            - testEnvironment
                            - thirdPartyRecipients
                            - contracts
                            - status
                            - signer
                          additionalProperties: false
                        - type: object
                          properties:
                            id:
                              $ref: "#/components/schemas/Prm"
                            createdAt:
                              type: string
                              examples:
                                - 2024-12-10T00:00:00
                                - 2024-12-10T12:00:00Z
                                - 2024-12-10T00:00:00+01:00
                                - 2024-12-10
                                - 2024-12-10T00:00:00[Europe/Paris]
                                - 2024-12-10T00:00:00[CET]
                            acceptedAt:
                              anyOf:
                                - type: string
                                  examples:
                                    - 2024-12-10T00:00:00
                                    - 2024-12-10T12:00:00Z
                                    - 2024-12-10T00:00:00+01:00
                                    - 2024-12-10
                                    - 2024-12-10T00:00:00[Europe/Paris]
                                    - 2024-12-10T00:00:00[CET]
                                - type: "null"
                            consentCollectionDetails:
                              anyOf:
                                - anyOf:
                                    - type: object
                                      properties:
                                        service:
                                          type: string
                                          enum:
                                            - DOCUSEAL
                                        userUrl:
                                          $ref: "#/components/schemas/Url"
                                      required:
                                        - service
                                        - userUrl
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        service:
                                          type: string
                                          enum:
                                            - WEB_HOSTED
                                        userUrl:
                                          $ref: "#/components/schemas/Url1"
                                      required:
                                        - service
                                        - userUrl
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        service:
                                          type: string
                                          enum:
                                            - REGISTERED_CONSENT
                                      required:
                                        - service
                                      additionalProperties: false
                                - type: "null"
                            expiresAt:
                              anyOf:
                                - type: string
                                  examples:
                                    - 2024-12-10T00:00:00
                                    - 2024-12-10T12:00:00Z
                                    - 2024-12-10T00:00:00+01:00
                                    - 2024-12-10
                                    - 2024-12-10T00:00:00[Europe/Paris]
                                    - 2024-12-10T00:00:00[CET]
                                - type: "null"
                              description: When the consent will expire, computed from acceptedAt +
                                consentDuration. Null until the ask is accepted.
                            purposes:
                              type: array
                              items:
                                anyOf:
                                  - type: string
                                    enum:
                                      - SOLAR_INSTALLATION_SIZING
                                    title: Sizing of a solar installation
                                  - type: string
                                    enum:
                                      - DEMAND_RESPONSE
                                    title: Demand response
                                  - type: string
                                    enum:
                                      - ENERGY_PERFORMANCE_STUDY
                                    title: Energy performance study
                                  - type: string
                                    enum:
                                      - ENERGY_BROKERAGE
                                    title: Energy brokerage
                                  - type: string
                                    enum:
                                      - VEHICLE_CHARGE_DETECTION
                                    title: Detection of a vehicle charge
                            testEnvironment:
                              type: boolean
                            thirdPartyRecipients:
                              type: array
                              items:
                                $ref: "#/components/schemas/Prm"
                            contracts:
                              type: array
                              items:
                                type: object
                                properties:
                                  deliveryPointId:
                                    type: string
                                  seq:
                                    anyOf:
                                      - anyOf:
                                          - type: number
                                          - type: string
                                            enum:
                                              - NaN
                                          - type: string
                                            enum:
                                              - Infinity
                                          - type: string
                                            enum:
                                              - -Infinity
                                      - type: string
                                        enum:
                                          - Infinity
                                          - -Infinity
                                          - NaN
                                  status:
                                    type: string
                                    enum:
                                      - PENDING_VALIDITY_CHECK
                                      - NOT_VALID
                                      - VALID
                                      - PENDING_PROOF_VERIFICATION
                                      - PENDING_DSO_ACTION
                                      - GRANTED
                                      - DENIED
                                      - REVOKED
                                      - EXPIRED
                                  proofId:
                                    anyOf:
                                      - $ref: "#/components/schemas/Prm"
                                      - type: "null"
                                  statusText:
                                    anyOf:
                                      - type: object
                                        properties:
                                          en:
                                            $ref: "#/components/schemas/Prm"
                                          fr:
                                            $ref: "#/components/schemas/Prm"
                                        required:
                                          - en
                                          - fr
                                        additionalProperties: false
                                      - type: "null"
                                required:
                                  - deliveryPointId
                                  - seq
                                  - status
                                additionalProperties: false
                            status:
                              anyOf:
                                - type: string
                                  enum:
                                    - CREATED
                                  title: CREATED
                                - type: string
                                  enum:
                                    - PENDING_USER_ACTION
                                  title: PENDING_USER_ACTION
                                - type: string
                                  enum:
                                    - NOT_VALID
                                  title: NOT_VALID
                            signer:
                              anyOf:
                                - type: object
                                  properties:
                                    lastName:
                                      $ref: "#/components/schemas/Prm"
                                    firstName:
                                      $ref: "#/components/schemas/Prm"
                                    organizationName:
                                      anyOf:
                                        - type: string
                                          allOf:
                                            - minLength: 1
                                        - type: "null"
                                    phone:
                                      anyOf:
                                        - $ref: "#/components/schemas/Prm"
                                        - type: "null"
                                    email:
                                      anyOf:
                                        - $ref: "#/components/schemas/Prm"
                                        - type: "null"
                                  required:
                                    - lastName
                                    - firstName
                                  additionalProperties: false
                                - type: "null"
                          required:
                            - id
                            - createdAt
                            - acceptedAt
                            - consentCollectionDetails
                            - expiresAt
                            - purposes
                            - testEnvironment
                            - thirdPartyRecipients
                            - contracts
                            - status
                            - signer
                          additionalProperties: false
                required:
                  - skip
                  - limit
                  - totalItemsCount
                  - returnedItemsCount
                  - items
                additionalProperties: false
        "400":
          description: BadRequest
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/BadRequest"
                  - $ref: "#/components/schemas/BadRequest1"
        "401":
          description: Some credentials are required to access this resource | Unauthorized
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/Unauthorized"
                  - $ref: "#/components/schemas/effect_HttpApiError_Unauthorized"
        "403":
          description: You don't have permission to access this resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Forbidden"
        "500":
          description: An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Unexpected"
      summary: List Asks
  /ask/{askId}:
    get:
      tags:
        - asks
      operationId: getAsk
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            default: v0
          description: API version header. Use 'v0' for this version.
        - name: askId
          in: path
          schema:
            $ref: "#/components/schemas/Prm"
          required: true
        - name: switchgrid-test-env
          in: header
          schema:
            anyOf:
              - type: string
                enum:
                  - "true"
                  - "false"
              - type: "null"
          required: false
      security:
        - bearerAuth: []
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      id:
                        $ref: "#/components/schemas/Prm"
                      createdAt:
                        type: string
                        examples:
                          - 2024-12-10T00:00:00
                          - 2024-12-10T12:00:00Z
                          - 2024-12-10T00:00:00+01:00
                          - 2024-12-10
                          - 2024-12-10T00:00:00[Europe/Paris]
                          - 2024-12-10T00:00:00[CET]
                      acceptedAt:
                        anyOf:
                          - type: string
                            examples:
                              - 2024-12-10T00:00:00
                              - 2024-12-10T12:00:00Z
                              - 2024-12-10T00:00:00+01:00
                              - 2024-12-10
                              - 2024-12-10T00:00:00[Europe/Paris]
                              - 2024-12-10T00:00:00[CET]
                          - type: "null"
                      consentCollectionDetails:
                        anyOf:
                          - anyOf:
                              - type: object
                                properties:
                                  service:
                                    type: string
                                    enum:
                                      - DOCUSEAL
                                  userUrl:
                                    $ref: "#/components/schemas/Url"
                                required:
                                  - service
                                  - userUrl
                                additionalProperties: false
                              - type: object
                                properties:
                                  service:
                                    type: string
                                    enum:
                                      - WEB_HOSTED
                                  userUrl:
                                    $ref: "#/components/schemas/Url1"
                                required:
                                  - service
                                  - userUrl
                                additionalProperties: false
                              - type: object
                                properties:
                                  service:
                                    type: string
                                    enum:
                                      - REGISTERED_CONSENT
                                required:
                                  - service
                                additionalProperties: false
                          - type: "null"
                      expiresAt:
                        anyOf:
                          - type: string
                            examples:
                              - 2024-12-10T00:00:00
                              - 2024-12-10T12:00:00Z
                              - 2024-12-10T00:00:00+01:00
                              - 2024-12-10
                              - 2024-12-10T00:00:00[Europe/Paris]
                              - 2024-12-10T00:00:00[CET]
                          - type: "null"
                        description: When the consent will expire, computed from acceptedAt +
                          consentDuration. Null until the ask is accepted.
                      purposes:
                        type: array
                        items:
                          anyOf:
                            - type: string
                              enum:
                                - SOLAR_INSTALLATION_SIZING
                              title: Sizing of a solar installation
                            - type: string
                              enum:
                                - DEMAND_RESPONSE
                              title: Demand response
                            - type: string
                              enum:
                                - ENERGY_PERFORMANCE_STUDY
                              title: Energy performance study
                            - type: string
                              enum:
                                - ENERGY_BROKERAGE
                              title: Energy brokerage
                            - type: string
                              enum:
                                - VEHICLE_CHARGE_DETECTION
                              title: Detection of a vehicle charge
                      testEnvironment:
                        type: boolean
                      thirdPartyRecipients:
                        type: array
                        items:
                          $ref: "#/components/schemas/Prm"
                      contracts:
                        type: array
                        items:
                          type: object
                          properties:
                            deliveryPointId:
                              type: string
                            seq:
                              anyOf:
                                - anyOf:
                                    - type: number
                                    - type: string
                                      enum:
                                        - NaN
                                    - type: string
                                      enum:
                                        - Infinity
                                    - type: string
                                      enum:
                                        - -Infinity
                                - type: string
                                  enum:
                                    - Infinity
                                    - -Infinity
                                    - NaN
                            status:
                              type: string
                              enum:
                                - PENDING_VALIDITY_CHECK
                                - NOT_VALID
                                - VALID
                                - PENDING_PROOF_VERIFICATION
                                - PENDING_DSO_ACTION
                                - GRANTED
                                - DENIED
                                - REVOKED
                                - EXPIRED
                            proofId:
                              anyOf:
                                - $ref: "#/components/schemas/Prm"
                                - type: "null"
                            statusText:
                              anyOf:
                                - type: object
                                  properties:
                                    en:
                                      $ref: "#/components/schemas/Prm"
                                    fr:
                                      $ref: "#/components/schemas/Prm"
                                  required:
                                    - en
                                    - fr
                                  additionalProperties: false
                                - type: "null"
                          required:
                            - deliveryPointId
                            - seq
                            - status
                          additionalProperties: false
                      status:
                        anyOf:
                          - type: string
                            enum:
                              - ACCEPTED
                            title: ACCEPTED
                          - type: string
                            enum:
                              - REVOKED
                            title: REVOKED
                          - type: string
                            enum:
                              - EXPIRED
                            title: EXPIRED
                      signer:
                        type: object
                        properties:
                          lastName:
                            $ref: "#/components/schemas/Prm"
                          firstName:
                            $ref: "#/components/schemas/Prm"
                          organizationName:
                            anyOf:
                              - type: string
                                allOf:
                                  - minLength: 1
                              - type: "null"
                          phone:
                            anyOf:
                              - $ref: "#/components/schemas/Prm"
                              - type: "null"
                          email:
                            anyOf:
                              - $ref: "#/components/schemas/Prm"
                              - type: "null"
                        required:
                          - lastName
                          - firstName
                        additionalProperties: false
                    required:
                      - id
                      - createdAt
                      - acceptedAt
                      - consentCollectionDetails
                      - expiresAt
                      - purposes
                      - testEnvironment
                      - thirdPartyRecipients
                      - contracts
                      - status
                      - signer
                    additionalProperties: false
                  - type: object
                    properties:
                      id:
                        $ref: "#/components/schemas/Prm"
                      createdAt:
                        type: string
                        examples:
                          - 2024-12-10T00:00:00
                          - 2024-12-10T12:00:00Z
                          - 2024-12-10T00:00:00+01:00
                          - 2024-12-10
                          - 2024-12-10T00:00:00[Europe/Paris]
                          - 2024-12-10T00:00:00[CET]
                      acceptedAt:
                        anyOf:
                          - type: string
                            examples:
                              - 2024-12-10T00:00:00
                              - 2024-12-10T12:00:00Z
                              - 2024-12-10T00:00:00+01:00
                              - 2024-12-10
                              - 2024-12-10T00:00:00[Europe/Paris]
                              - 2024-12-10T00:00:00[CET]
                          - type: "null"
                      consentCollectionDetails:
                        anyOf:
                          - anyOf:
                              - type: object
                                properties:
                                  service:
                                    type: string
                                    enum:
                                      - DOCUSEAL
                                  userUrl:
                                    $ref: "#/components/schemas/Url"
                                required:
                                  - service
                                  - userUrl
                                additionalProperties: false
                              - type: object
                                properties:
                                  service:
                                    type: string
                                    enum:
                                      - WEB_HOSTED
                                  userUrl:
                                    $ref: "#/components/schemas/Url1"
                                required:
                                  - service
                                  - userUrl
                                additionalProperties: false
                              - type: object
                                properties:
                                  service:
                                    type: string
                                    enum:
                                      - REGISTERED_CONSENT
                                required:
                                  - service
                                additionalProperties: false
                          - type: "null"
                      expiresAt:
                        anyOf:
                          - type: string
                            examples:
                              - 2024-12-10T00:00:00
                              - 2024-12-10T12:00:00Z
                              - 2024-12-10T00:00:00+01:00
                              - 2024-12-10
                              - 2024-12-10T00:00:00[Europe/Paris]
                              - 2024-12-10T00:00:00[CET]
                          - type: "null"
                        description: When the consent will expire, computed from acceptedAt +
                          consentDuration. Null until the ask is accepted.
                      purposes:
                        type: array
                        items:
                          anyOf:
                            - type: string
                              enum:
                                - SOLAR_INSTALLATION_SIZING
                              title: Sizing of a solar installation
                            - type: string
                              enum:
                                - DEMAND_RESPONSE
                              title: Demand response
                            - type: string
                              enum:
                                - ENERGY_PERFORMANCE_STUDY
                              title: Energy performance study
                            - type: string
                              enum:
                                - ENERGY_BROKERAGE
                              title: Energy brokerage
                            - type: string
                              enum:
                                - VEHICLE_CHARGE_DETECTION
                              title: Detection of a vehicle charge
                      testEnvironment:
                        type: boolean
                      thirdPartyRecipients:
                        type: array
                        items:
                          $ref: "#/components/schemas/Prm"
                      contracts:
                        type: array
                        items:
                          type: object
                          properties:
                            deliveryPointId:
                              type: string
                            seq:
                              anyOf:
                                - anyOf:
                                    - type: number
                                    - type: string
                                      enum:
                                        - NaN
                                    - type: string
                                      enum:
                                        - Infinity
                                    - type: string
                                      enum:
                                        - -Infinity
                                - type: string
                                  enum:
                                    - Infinity
                                    - -Infinity
                                    - NaN
                            status:
                              type: string
                              enum:
                                - PENDING_VALIDITY_CHECK
                                - NOT_VALID
                                - VALID
                                - PENDING_PROOF_VERIFICATION
                                - PENDING_DSO_ACTION
                                - GRANTED
                                - DENIED
                                - REVOKED
                                - EXPIRED
                            proofId:
                              anyOf:
                                - $ref: "#/components/schemas/Prm"
                                - type: "null"
                            statusText:
                              anyOf:
                                - type: object
                                  properties:
                                    en:
                                      $ref: "#/components/schemas/Prm"
                                    fr:
                                      $ref: "#/components/schemas/Prm"
                                  required:
                                    - en
                                    - fr
                                  additionalProperties: false
                                - type: "null"
                          required:
                            - deliveryPointId
                            - seq
                            - status
                          additionalProperties: false
                      status:
                        anyOf:
                          - type: string
                            enum:
                              - CREATED
                            title: CREATED
                          - type: string
                            enum:
                              - PENDING_USER_ACTION
                            title: PENDING_USER_ACTION
                          - type: string
                            enum:
                              - NOT_VALID
                            title: NOT_VALID
                      signer:
                        anyOf:
                          - type: object
                            properties:
                              lastName:
                                $ref: "#/components/schemas/Prm"
                              firstName:
                                $ref: "#/components/schemas/Prm"
                              organizationName:
                                anyOf:
                                  - type: string
                                    allOf:
                                      - minLength: 1
                                  - type: "null"
                              phone:
                                anyOf:
                                  - $ref: "#/components/schemas/Prm"
                                  - type: "null"
                              email:
                                anyOf:
                                  - $ref: "#/components/schemas/Prm"
                                  - type: "null"
                            required:
                              - lastName
                              - firstName
                            additionalProperties: false
                          - type: "null"
                    required:
                      - id
                      - createdAt
                      - acceptedAt
                      - consentCollectionDetails
                      - expiresAt
                      - purposes
                      - testEnvironment
                      - thirdPartyRecipients
                      - contracts
                      - status
                      - signer
                    additionalProperties: false
        "400":
          description: BadRequest
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/BadRequest"
                  - $ref: "#/components/schemas/BadRequest1"
        "401":
          description: Some credentials are required to access this resource | Unauthorized
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/Unauthorized"
                  - $ref: "#/components/schemas/effect_HttpApiError_Unauthorized"
        "403":
          description: You don't have permission to access this resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Forbidden"
        "404":
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFound"
        "500":
          description: An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Unexpected"
      summary: Get an Ask
  /ask/{askId}/proof:
    get:
      tags:
        - asks
      operationId: getAskProof
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            default: v0
          description: API version header. Use 'v0' for this version.
        - name: askId
          in: path
          schema:
            $ref: "#/components/schemas/Prm"
          required: true
        - name: switchgrid-test-env
          in: header
          schema:
            anyOf:
              - type: string
                enum:
                  - "true"
                  - "false"
              - type: "null"
          required: false
      security:
        - bearerAuth: []
      summary: Get an Ask proof as PDF, when it's accepted
      responses:
        "200":
          description: PDF proof of the Ask
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Prm"
            application/pdf:
              schema:
                type: string
                contentEncoding: base64
        "400":
          description: BadRequest
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/BadRequest"
                  - $ref: "#/components/schemas/BadRequest1"
        "401":
          description: Some credentials are required to access this resource | Unauthorized
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/Unauthorized"
                  - $ref: "#/components/schemas/effect_HttpApiError_Unauthorized"
        "403":
          description: You don't have permission to access this resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Forbidden"
        "404":
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFound"
        "500":
          description: An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Unexpected"
  /ask/{askId}/ownership_proof:
    post:
      tags:
        - asks
      operationId: postContractProof
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            default: v0
          description: API version header. Use 'v0' for this version.
        - name: askId
          in: path
          schema:
            $ref: "#/components/schemas/Prm"
          required: true
        - name: switchgrid-test-env
          in: header
          schema:
            anyOf:
              - type: string
                enum:
                  - "true"
                  - "false"
              - type: "null"
          required: false
        - name: seq
          in: query
          schema:
            anyOf:
              - $ref: "#/components/schemas/Prm"
              - type: "null"
          required: false
      security:
        - bearerAuth: []
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Prm"
        "400":
          description: BadRequest
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/BadRequest"
                  - $ref: "#/components/schemas/BadRequest1"
        "401":
          description: Some credentials are required to access this resource | Unauthorized
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/Unauthorized"
                  - $ref: "#/components/schemas/effect_HttpApiError_Unauthorized"
        "403":
          description: You don't have permission to access this resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Forbidden"
        "404":
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFound"
        "500":
          description: An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Unexpected"
      summary: Upload a proof for an invalid contract
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: array
                  items:
                    type: string
                    format: binary
              required:
                - file
              additionalProperties: false
        required: true
  /ask/ownership_proof/{proofId}:
    post:
      tags:
        - asks
      operationId: acceptOrRejectAskContractOwnershipProof
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            default: v0
          description: API version header. Use 'v0' for this version.
        - name: proofId
          in: path
          schema:
            $ref: "#/components/schemas/Prm"
          required: true
      security:
        - bearerAuth: []
      responses:
        "200":
          description: <No Content>
        "400":
          description: BadRequest
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/BadRequest"
                  - $ref: "#/components/schemas/BadRequest1"
        "401":
          description: Some credentials are required to access this resource | Unauthorized
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/Unauthorized"
                  - $ref: "#/components/schemas/effect_HttpApiError_Unauthorized"
        "403":
          description: You don't have permission to access this resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Forbidden"
        "404":
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFound"
        "500":
          description: An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Unexpected"
      description: "[test-env only] Accept or reject a proof by id. In non-test-env
        asks, Switchgrid is taking care of accepting or rejecting proofs based
        on the contract validity, so this endpoint is not needed."
      summary: 🧪 Accept/reject an proof (invoice)
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                acceptOrReject:
                  type: string
                  enum:
                    - accept
                    - reject
              required:
                - acceptOrReject
              additionalProperties: false
        required: true
  /ask/{askId}/revoke:
    post:
      tags:
        - asks
      operationId: revokeAsk
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            default: v0
          description: API version header. Use 'v0' for this version.
        - name: askId
          in: path
          schema:
            $ref: "#/components/schemas/Prm"
          required: true
        - name: switchgrid-test-env
          in: header
          schema:
            anyOf:
              - type: string
                enum:
                  - "true"
                  - "false"
              - type: "null"
          required: false
      security:
        - bearerAuth: []
      responses:
        "200":
          description: <No Content>
        "400":
          description: BadRequest
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/BadRequest"
                  - $ref: "#/components/schemas/BadRequest1"
        "401":
          description: Some credentials are required to access this resource | Unauthorized
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/Unauthorized"
                  - $ref: "#/components/schemas/effect_HttpApiError_Unauthorized"
        "403":
          description: You don't have permission to access this resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Forbidden"
        "404":
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFound"
        "500":
          description: An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Unexpected"
      description: Revoke an Ask by id. This will revoke all permissions for all
        related contracts.
      summary: Revoke an Ask
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
                - type: object
                  properties:
                    reasonFr:
                      anyOf:
                        - $ref: "#/components/schemas/Prm"
                        - type: "null"
                  additionalProperties: false
                - type: "null"
        required: true
  /integration/enedis/search_contract:
    get:
      tags:
        - integration/enedis
      operationId: searchContractGet
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            default: v0
          description: API version header. Use 'v0' for this version.
        - name: switchgrid-test-env
          in: header
          schema:
            anyOf:
              - type: string
                enum:
                  - "true"
                  - "false"
              - type: "null"
          required: false
        - name: name
          in: query
          schema:
            type: string
          required: true
        - name: address
          in: query
          schema:
            anyOf:
              - type: string
                examples:
                  - 1 rue de la paix 75001 Paris
              - type: "null"
          required: false
        - name: prm
          in: query
          schema:
            anyOf:
              - anyOf:
                  - $ref: "#/components/schemas/Prm"
                  - $ref: "#/components/schemas/EnedisNumeroDeSerie"
              - type: "null"
          required: false
        - name: asProjectId
          in: query
          schema:
            anyOf:
              - $ref: "#/components/schemas/Prm"
              - type: "null"
          required: false
      security:
        - bearerAuth: []
      responses:
        "200":
          description: SearchContractResponse
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SearchContractResponse"
        "400":
          description: BadRequest
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/BadRequest"
                  - $ref: "#/components/schemas/BadRequest1"
        "401":
          description: Some credentials are required to access this resource | Unauthorized
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/Unauthorized"
                  - $ref: "#/components/schemas/effect_HttpApiError_Unauthorized"
        "403":
          description: You don't have permission to access this resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Forbidden"
        "404":
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFound"
        "500":
          description: An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Unexpected"
        "503":
          description: The service is currently unavailable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  _tag:
                    type: string
                    enum:
                      - ServiceUnavailable
                  message:
                    $ref: "#/components/schemas/Prm"
                required:
                  - _tag
                  - message
                additionalProperties: false
                title: Service Unavailable
                description: The service is currently unavailable.
      summary: Search an Enedis contract
    post:
      tags:
        - integration/enedis
      operationId: searchContract
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            default: v0
          description: API version header. Use 'v0' for this version.
        - name: switchgrid-test-env
          in: header
          schema:
            anyOf:
              - type: string
                enum:
                  - "true"
                  - "false"
              - type: "null"
          required: false
      security:
        - bearerAuth: []
      responses:
        "200":
          description: SearchContractResponse
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SearchContractResponse"
        "400":
          description: BadRequest
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/BadRequest"
                  - $ref: "#/components/schemas/BadRequest1"
        "401":
          description: Some credentials are required to access this resource | Unauthorized
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/Unauthorized"
                  - $ref: "#/components/schemas/effect_HttpApiError_Unauthorized"
        "403":
          description: You don't have permission to access this resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Forbidden"
        "404":
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFound"
        "500":
          description: An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Unexpected"
        "503":
          description: The service is currently unavailable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  _tag:
                    type: string
                    enum:
                      - ServiceUnavailable
                  message:
                    $ref: "#/components/schemas/Prm"
                required:
                  - _tag
                  - message
                additionalProperties: false
                title: Service Unavailable
                description: The service is currently unavailable.
      summary: Search an Enedis contract
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                address:
                  anyOf:
                    - type: string
                      examples:
                        - 1 rue de la paix 75001 Paris
                    - type: "null"
                prm:
                  anyOf:
                    - anyOf:
                        - $ref: "#/components/schemas/Prm"
                        - $ref: "#/components/schemas/EnedisNumeroDeSerie"
                    - type: "null"
                asProjectId:
                  anyOf:
                    - $ref: "#/components/schemas/Prm"
                    - type: "null"
              required:
                - name
              additionalProperties: false
        required: true
  /integration/enedis/search_contracts_from_invoices:
    post:
      tags:
        - integration/enedis
      operationId: searchContractsFromInvoices
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            default: v0
          description: API version header. Use 'v0' for this version.
        - name: switchgrid-test-env
          in: header
          schema:
            anyOf:
              - type: string
                enum:
                  - "true"
                  - "false"
              - type: "null"
          required: false
      security:
        - bearerAuth: []
      responses:
        "200":
          description: SearchContractsFromInvoicesResponse
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SearchContractsFromInvoicesResponse"
        "400":
          description: BadRequest
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/BadRequest"
                  - $ref: "#/components/schemas/BadRequest1"
        "401":
          description: Some credentials are required to access this resource | Unauthorized
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/Unauthorized"
                  - $ref: "#/components/schemas/effect_HttpApiError_Unauthorized"
        "403":
          description: You don't have permission to access this resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Forbidden"
        "404":
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFound"
        "500":
          description: An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Unexpected"
        "503":
          description: The service is currently unavailable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  _tag:
                    type: string
                    enum:
                      - ServiceUnavailable
                  message:
                    $ref: "#/components/schemas/Prm"
                required:
                  - _tag
                  - message
                additionalProperties: false
                title: Service Unavailable
                description: The service is currently unavailable.
      description: Upload one or more electricity invoice files (PDF or images). We
        run OCR on them and search for matching contracts.
      summary: "BETA: Search Enedis contracts from uploaded electricity invoices"
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                files:
                  type: array
                  items:
                    type: string
                    format: binary
              required:
                - files
              additionalProperties: false
        required: true
  /integration/enedis/order:
    post:
      tags:
        - integration/enedis
      operationId: order
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            default: v0
          description: API version header. Use 'v0' for this version.
        - name: switchgrid-test-env
          in: header
          schema:
            anyOf:
              - type: string
                enum:
                  - "true"
                  - "false"
              - type: "null"
          required: false
      security:
        - bearerAuth: []
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: "#/components/schemas/Prm"
                  status:
                    anyOf:
                      - type: string
                        enum:
                          - CREATED
                        title: CREATED
                      - type: string
                        enum:
                          - PENDING_REQUESTS
                        title: PENDING_REQUESTS
                      - type: string
                        enum:
                          - COMPLETED
                        title: COMPLETED
                  requests:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          $ref: "#/components/schemas/Prm"
                        type:
                          type: string
                          enum:
                            - C68
                            - C68_ASYNC
                            - R63
                            - R63_SYNC
                            - R64
                            - R64_SYNC
                            - R65
                            - R65_SYNC
                            - R66
                            - R66_SYNC
                            - R67
                            - LOADCURVE
                        status:
                          anyOf:
                            - type: string
                              enum:
                                - NOT_STARTED
                              title: NOT_STARTED
                            - type: string
                              enum:
                                - QUEUED
                              title: QUEUED
                            - type: string
                              enum:
                                - PENDING
                              title: PENDING
                            - type: string
                              enum:
                                - SUCCESS
                              title: SUCCESS
                            - type: string
                              enum:
                                - FAILED
                              title: FAILED
                        orderedAt:
                          anyOf:
                            - type: string
                            - type: "null"
                        completedAt:
                          anyOf:
                            - type: string
                            - type: "null"
                        dataUrl:
                          anyOf:
                            - anyOf:
                                - $ref: "#/components/schemas/Prm"
                                - type: "null"
                            - type: "null"
                        dataUrls:
                          anyOf:
                            - type: array
                              items:
                                $ref: "#/components/schemas/Prm"
                            - type: "null"
                        errorMessage:
                          anyOf:
                            - $ref: "#/components/schemas/Prm"
                            - type: "null"
                        requestedTimeRange:
                          anyOf:
                            - anyOf:
                                - $ref: "#/components/schemas/Prm"
                                - type: "null"
                            - type: "null"
                        summaryPerContract:
                          anyOf:
                            - type: array
                              items:
                                anyOf:
                                  - anyOf:
                                      - type: object
                                        properties:
                                          _tag:
                                            type: string
                                            enum:
                                              - LoadcurveRequestContractSummary
                                          _status:
                                            type: string
                                            enum:
                                              - final
                                          prm:
                                            $ref: "#/components/schemas/Prm"
                                          timeRangeCoverageRatio:
                                            anyOf:
                                              - anyOf:
                                                  - type: number
                                                  - type: string
                                                    enum:
                                                      - NaN
                                                  - type: string
                                                    enum:
                                                      - Infinity
                                                  - type: string
                                                    enum:
                                                      - -Infinity
                                              - type: string
                                                enum:
                                                  - Infinity
                                                  - -Infinity
                                                  - NaN
                                          holes:
                                            type: array
                                            items:
                                              $ref: "#/components/schemas/Prm"
                                            description: An array of intervals that are **NOT** covered by the returned
                                              data. It's an array of intervals.
                                              Each interval is 2 dates separated
                                              by a slash. The dates are in ISO
                                              8601 format.
                                            examples:
                                              - - s:
                                                    ts: 1735689600000
                                                    _zone: {}
                                                    loc:
                                                      locale: en-US
                                                      numberingSystem: null
                                                      outputCalendar: null
                                                      weekSettings: null
                                                      intl: en-US
                                                      weekdaysCache:
                                                        format: {}
                                                        standalone: {}
                                                      monthsCache:
                                                        format: {}
                                                        standalone: {}
                                                      meridiemCache: null
                                                      eraCache: {}
                                                      specifiedLocale: null
                                                      fastNumbersCached: null
                                                    invalid: null
                                                    weekData: null
                                                    localWeekData: null
                                                    c:
                                                      year: 2025
                                                      month: 1
                                                      day: 1
                                                      hour: 0
                                                      minute: 0
                                                      second: 0
                                                      millisecond: 0
                                                    o: 0
                                                    isLuxonDateTime: true
                                                  e:
                                                    ts: 1735689600000
                                                    _zone: {}
                                                    loc:
                                                      locale: en-US
                                                      numberingSystem: null
                                                      outputCalendar: null
                                                      weekSettings: null
                                                      intl: en-US
                                                      weekdaysCache:
                                                        format: {}
                                                        standalone: {}
                                                      monthsCache:
                                                        format: {}
                                                        standalone: {}
                                                      meridiemCache: null
                                                      eraCache: {}
                                                      specifiedLocale: null
                                                      fastNumbersCached: null
                                                    invalid: null
                                                    weekData: null
                                                    localWeekData: null
                                                    c:
                                                      year: 2025
                                                      month: 1
                                                      day: 1
                                                      hour: 0
                                                      minute: 0
                                                      second: 0
                                                      millisecond: 0
                                                    o: 0
                                                    isLuxonDateTime: true
                                                  invalid: null
                                                  isLuxonInterval: true
                                          errorMessage:
                                            anyOf:
                                              - $ref: "#/components/schemas/Prm"
                                              - type: "null"
                                        required:
                                          - _tag
                                          - _status
                                          - prm
                                          - timeRangeCoverageRatio
                                          - holes
                                          - errorMessage
                                        additionalProperties: false
                                      - type: object
                                        properties:
                                          _tag:
                                            type: string
                                            enum:
                                              - LoadcurveRequestContractSummary
                                          _status:
                                            type: string
                                            enum:
                                              - pending
                                          prm:
                                            $ref: "#/components/schemas/Prm"
                                          message:
                                            $ref: "#/components/schemas/Prm"
                                        required:
                                          - _tag
                                          - _status
                                          - prm
                                          - message
                                        additionalProperties: false
                                  - type: object
                                    properties:
                                      _tag:
                                        type: string
                                        enum:
                                          - RawFileContractSummary
                                      prm:
                                        $ref: "#/components/schemas/Prm"
                                      fileUrl:
                                        anyOf:
                                          - $ref: "#/components/schemas/Prm"
                                          - type: "null"
                                      errorMessage:
                                        anyOf:
                                          - $ref: "#/components/schemas/Prm"
                                          - type: "null"
                                    required:
                                      - _tag
                                      - prm
                                      - fileUrl
                                      - errorMessage
                                    additionalProperties: false
                            - type: "null"
                        loadCurve:
                          anyOf:
                            - anyOf:
                                - type: object
                                  properties:
                                    period:
                                      $ref: "#/components/schemas/Prm"
                                    startsAt:
                                      type: string
                                    endsAt:
                                      type: string
                                    values:
                                      type: array
                                      items:
                                        anyOf:
                                          - anyOf:
                                              - anyOf:
                                                  - type: number
                                                  - type: string
                                                    enum:
                                                      - NaN
                                                  - type: string
                                                    enum:
                                                      - Infinity
                                                  - type: string
                                                    enum:
                                                      - -Infinity
                                              - type: string
                                                enum:
                                                  - Infinity
                                                  - -Infinity
                                                  - NaN
                                          - type: "null"
                                  required:
                                    - period
                                    - startsAt
                                    - endsAt
                                    - values
                                  additionalProperties: false
                                - type: "null"
                            - type: "null"
                      required:
                        - id
                        - type
                        - status
                        - orderedAt
                        - completedAt
                        - errorMessage
                      additionalProperties: false
                    examples:
                      - - id: da466b13-6904-4a5d-a108-746808686631
                          type: C68
                          status: SUCCESS
                          completedAt: {}
                          dataUrl: https://example.com/data.json
                          errorMessage: null
                          orderedAt: {}
                required:
                  - id
                  - status
                  - requests
                additionalProperties: false
        "400":
          description: BadRequest
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/BadRequest"
                  - $ref: "#/components/schemas/BadRequest1"
        "401":
          description: Some credentials are required to access this resource | Unauthorized
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/Unauthorized"
                  - $ref: "#/components/schemas/effect_HttpApiError_Unauthorized"
        "403":
          description: You don't have permission to access this resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Forbidden"
        "404":
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFound"
        "500":
          description: An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Unexpected"
        "503":
          description: The service is currently unavailable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  _tag:
                    type: string
                    enum:
                      - ServiceUnavailable
                  message:
                    $ref: "#/components/schemas/Prm"
                required:
                  - _tag
                  - message
                additionalProperties: false
                title: Service Unavailable
                description: The service is currently unavailable.
      summary: Register an order
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
                - type: object
                  properties:
                    requests:
                      type: array
                      items:
                        anyOf:
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - C68
                              prms:
                                type: array
                                items:
                                  $ref: "#/components/schemas/Prm"
                            required:
                              - type
                              - prms
                            additionalProperties: false
                            title: C68
                            description: Données techniques et contractuelles
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - C68_ASYNC
                              direction:
                                anyOf:
                                  - type: string
                                    enum:
                                      - CONSUMPTION
                                      - INJECTION
                                  - type: "null"
                              prms:
                                type: array
                                items:
                                  $ref: "#/components/schemas/Prm"
                            required:
                              - type
                              - prms
                            additionalProperties: false
                            title: C68_ASYNC
                            description: Données techniques et contractuelles (asynchrone par M023)
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - R63
                              direction:
                                anyOf:
                                  - type: string
                                    enum:
                                      - SOUTIRAGE
                                      - INJECTION
                                  - type: "null"
                              since:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              until:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              enedisRetryAfterLoadcurveActivation:
                                anyOf:
                                  - type: boolean
                                    description: Retry after Enedis Loadcurve Activation (Activation de la collecte
                                      de courbe de charge)
                                  - type: "null"
                              prms:
                                type: array
                                items:
                                  $ref: "#/components/schemas/Prm"
                            required:
                              - type
                              - prms
                            additionalProperties: false
                            title: R63
                            description: Courbes De Charges
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - R64
                              direction:
                                anyOf:
                                  - type: string
                                    enum:
                                      - SOUTIRAGE
                                      - INJECTION
                                  - type: "null"
                              since:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              until:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              prms:
                                type: array
                                items:
                                  $ref: "#/components/schemas/Prm"
                            required:
                              - type
                              - prms
                            additionalProperties: false
                            title: R64
                            description: Index quotidiens (requête asynchrone)
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - R65
                              direction:
                                anyOf:
                                  - type: string
                                    enum:
                                      - SOUTIRAGE
                                      - INJECTION
                                  - type: "null"
                              since:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              until:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              prms:
                                type: array
                                items:
                                  $ref: "#/components/schemas/Prm"
                            required:
                              - type
                              - prms
                            additionalProperties: false
                            title: R65
                            description: Energies quotidiennes
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - R66
                              direction:
                                anyOf:
                                  - type: string
                                    enum:
                                      - SOUTIRAGE
                                      - INJECTION
                                  - type: "null"
                              since:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              until:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              prms:
                                type: array
                                items:
                                  $ref: "#/components/schemas/Prm"
                            required:
                              - type
                              - prms
                            additionalProperties: false
                            title: R66
                            description: Puissance max. quotidiennes
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - R67
                              direction:
                                anyOf:
                                  - type: string
                                    enum:
                                      - SOUTIRAGE
                                      - INJECTION
                                  - type: "null"
                              since:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              until:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              prms:
                                type: array
                                items:
                                  $ref: "#/components/schemas/Prm"
                            required:
                              - type
                              - prms
                            additionalProperties: false
                            title: R67
                            description: Mesures facturantes
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - R63_SYNC
                              direction:
                                anyOf:
                                  - type: string
                                    enum:
                                      - SOUTIRAGE
                                      - INJECTION
                                  - type: "null"
                              since:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              until:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              enedisCorrection:
                                anyOf:
                                  - type: boolean
                                    description: Correction Enedis (only for 'C5' segment)
                                  - type: "null"
                              enedisRetryAfterLoadcurveActivation:
                                anyOf:
                                  - type: boolean
                                    description: Retry after Enedis Loadcurve Activation (Activation de la collecte
                                      de courbe de charge)
                                  - type: "null"
                              prms:
                                type: array
                                items:
                                  $ref: "#/components/schemas/Prm"
                            required:
                              - type
                              - prms
                            additionalProperties: false
                            title: R63_SYNC
                            description: Courbes de charge - 7 jours ou moins (requête synchrone)
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - R64_SYNC
                              direction:
                                anyOf:
                                  - type: string
                                    enum:
                                      - SOUTIRAGE
                                      - INJECTION
                                  - type: "null"
                              since:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              until:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              enedisCorrection:
                                anyOf:
                                  - type: boolean
                                    description: Correction Enedis (only for 'C5' segment)
                                  - type: "null"
                              prms:
                                type: array
                                items:
                                  $ref: "#/components/schemas/Prm"
                            required:
                              - type
                              - prms
                            additionalProperties: false
                            title: R64_SYNC
                            description: Index quotidiens (requête synchrone)
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - R65_SYNC
                              direction:
                                anyOf:
                                  - type: string
                                    enum:
                                      - SOUTIRAGE
                                      - INJECTION
                                  - type: "null"
                              since:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              until:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              enedisCorrection:
                                anyOf:
                                  - type: boolean
                                    description: Correction Enedis (only for 'C5' segment)
                                  - type: "null"
                              prms:
                                type: array
                                items:
                                  $ref: "#/components/schemas/Prm"
                            required:
                              - type
                              - prms
                            additionalProperties: false
                            title: R65_SYNC
                            description: Energies quotidiennes (requête synchrone)
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - R66_SYNC
                              direction:
                                anyOf:
                                  - type: string
                                    enum:
                                      - SOUTIRAGE
                                      - INJECTION
                                  - type: "null"
                              since:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              until:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              enedisCorrection:
                                anyOf:
                                  - type: boolean
                                    description: Correction Enedis (only for 'C5' segment)
                                  - type: "null"
                              prms:
                                type: array
                                items:
                                  $ref: "#/components/schemas/Prm"
                            required:
                              - type
                              - prms
                            additionalProperties: false
                            title: R66_SYNC
                            description: Puissances max. quotidiennes (requête synchrone)
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - LOADCURVE
                              direction:
                                anyOf:
                                  - type: string
                                    enum:
                                      - CONSUMPTION
                                      - INJECTION
                                  - type: "null"
                              since:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              until:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              enedisCorrection:
                                anyOf:
                                  - type: boolean
                                    description: Correction Enedis (only for 'C5' segment)
                                  - type: "null"
                              enedisRetryAfterLoadcurveActivation:
                                anyOf:
                                  - type: boolean
                                    description: Retry after Enedis Loadcurve Activation (Activation de la collecte
                                      de courbe de charge)
                                  - type: "null"
                              prms:
                                type: array
                                items:
                                  $ref: "#/components/schemas/Prm"
                            required:
                              - type
                              - prms
                            additionalProperties: false
                            title: Loadcurve
                            description: Consumption data in regular intervals
                  required:
                    - requests
                  additionalProperties: false
                - type: object
                  properties:
                    consentId:
                      $ref: "#/components/schemas/Prm"
                      deprecated: true
                    requests:
                      type: array
                      items:
                        anyOf:
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - C68
                            required:
                              - type
                            additionalProperties: false
                            title: C68
                            description: Données techniques et contractuelles
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - C68_ASYNC
                              direction:
                                anyOf:
                                  - type: string
                                    enum:
                                      - CONSUMPTION
                                      - INJECTION
                                  - type: "null"
                            required:
                              - type
                            additionalProperties: false
                            title: C68_ASYNC
                            description: Données techniques et contractuelles (asynchrone par M023)
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - R63
                              direction:
                                anyOf:
                                  - type: string
                                    enum:
                                      - SOUTIRAGE
                                      - INJECTION
                                  - type: "null"
                              since:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              until:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              enedisRetryAfterLoadcurveActivation:
                                anyOf:
                                  - type: boolean
                                    description: Retry after Enedis Loadcurve Activation (Activation de la collecte
                                      de courbe de charge)
                                  - type: "null"
                            required:
                              - type
                            additionalProperties: false
                            title: R63
                            description: Courbes De Charges
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - R64
                              direction:
                                anyOf:
                                  - type: string
                                    enum:
                                      - SOUTIRAGE
                                      - INJECTION
                                  - type: "null"
                              since:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              until:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                            required:
                              - type
                            additionalProperties: false
                            title: R64
                            description: Index quotidiens (requête asynchrone)
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - R65
                              direction:
                                anyOf:
                                  - type: string
                                    enum:
                                      - SOUTIRAGE
                                      - INJECTION
                                  - type: "null"
                              since:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              until:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                            required:
                              - type
                            additionalProperties: false
                            title: R65
                            description: Energies quotidiennes
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - R66
                              direction:
                                anyOf:
                                  - type: string
                                    enum:
                                      - SOUTIRAGE
                                      - INJECTION
                                  - type: "null"
                              since:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              until:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                            required:
                              - type
                            additionalProperties: false
                            title: R66
                            description: Puissance max. quotidiennes
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - R67
                              direction:
                                anyOf:
                                  - type: string
                                    enum:
                                      - SOUTIRAGE
                                      - INJECTION
                                  - type: "null"
                              since:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              until:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                            required:
                              - type
                            additionalProperties: false
                            title: R67
                            description: Mesures facturantes
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - R63_SYNC
                              direction:
                                anyOf:
                                  - type: string
                                    enum:
                                      - SOUTIRAGE
                                      - INJECTION
                                  - type: "null"
                              since:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              until:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              enedisCorrection:
                                anyOf:
                                  - type: boolean
                                    description: Correction Enedis (only for 'C5' segment)
                                  - type: "null"
                              enedisRetryAfterLoadcurveActivation:
                                anyOf:
                                  - type: boolean
                                    description: Retry after Enedis Loadcurve Activation (Activation de la collecte
                                      de courbe de charge)
                                  - type: "null"
                            required:
                              - type
                            additionalProperties: false
                            title: R63_SYNC
                            description: Courbes de charge - 7 jours ou moins (requête synchrone)
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - R64_SYNC
                              direction:
                                anyOf:
                                  - type: string
                                    enum:
                                      - SOUTIRAGE
                                      - INJECTION
                                  - type: "null"
                              since:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              until:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              enedisCorrection:
                                anyOf:
                                  - type: boolean
                                    description: Correction Enedis (only for 'C5' segment)
                                  - type: "null"
                            required:
                              - type
                            additionalProperties: false
                            title: R64_SYNC
                            description: Index quotidiens (requête synchrone)
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - R65_SYNC
                              direction:
                                anyOf:
                                  - type: string
                                    enum:
                                      - SOUTIRAGE
                                      - INJECTION
                                  - type: "null"
                              since:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              until:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              enedisCorrection:
                                anyOf:
                                  - type: boolean
                                    description: Correction Enedis (only for 'C5' segment)
                                  - type: "null"
                            required:
                              - type
                            additionalProperties: false
                            title: R65_SYNC
                            description: Energies quotidiennes (requête synchrone)
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - R66_SYNC
                              direction:
                                anyOf:
                                  - type: string
                                    enum:
                                      - SOUTIRAGE
                                      - INJECTION
                                  - type: "null"
                              since:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              until:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              enedisCorrection:
                                anyOf:
                                  - type: boolean
                                    description: Correction Enedis (only for 'C5' segment)
                                  - type: "null"
                            required:
                              - type
                            additionalProperties: false
                            title: R66_SYNC
                            description: Puissances max. quotidiennes (requête synchrone)
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - LOADCURVE
                              direction:
                                anyOf:
                                  - type: string
                                    enum:
                                      - CONSUMPTION
                                      - INJECTION
                                  - type: "null"
                              since:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              until:
                                anyOf:
                                  - type: string
                                    examples:
                                      - 2024-12-10T00:00:00
                                      - 2024-12-10T12:00:00Z
                                      - 2024-12-10T00:00:00+01:00
                                      - 2024-12-10
                                      - 2024-12-10T00:00:00[Europe/Paris]
                                      - 2024-12-10T00:00:00[CET]
                                  - type: "null"
                              enedisCorrection:
                                anyOf:
                                  - type: boolean
                                    description: Correction Enedis (only for 'C5' segment)
                                  - type: "null"
                              enedisRetryAfterLoadcurveActivation:
                                anyOf:
                                  - type: boolean
                                    description: Retry after Enedis Loadcurve Activation (Activation de la collecte
                                      de courbe de charge)
                                  - type: "null"
                            required:
                              - type
                            additionalProperties: false
                            title: Loadcurve
                            description: Consumption data in regular intervals
                  required:
                    - consentId
                    - requests
                  additionalProperties: false
                  title: Deprecated (consentId)
                  description: "@deprecated. Identify delivery points with `prms` on each request
                    instead of a top-level `consentId`. Still accepted for
                    backward compatibility but no longer advertised."
                  deprecated: true
        required: true
  /integration/enedis/contract/{contractId}/details:
    get:
      tags:
        - integration/enedis
      operationId: getContractDetails
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            default: v0
          description: API version header. Use 'v0' for this version.
        - name: contractId
          in: path
          schema:
            $ref: "#/components/schemas/Prm"
          required: true
        - name: switchgrid-test-env
          in: header
          schema:
            anyOf:
              - type: string
                enum:
                  - "true"
                  - "false"
              - type: "null"
          required: false
      security:
        - bearerAuth: []
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  delivery:
                    type: object
                    properties:
                      country:
                        type: string
                        enum:
                          - FR
                      company:
                        type: string
                        enum:
                          - Enedis
                      prm:
                        $ref: "#/components/schemas/Prm"
                      address:
                        $ref: "#/components/schemas/Prm"
                      connectionCapacity_kVA:
                        anyOf:
                          - anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - NaN
                                  - type: string
                                    enum:
                                      - Infinity
                                  - type: string
                                    enum:
                                      - -Infinity
                              - type: string
                                enum:
                                  - Infinity
                                  - -Infinity
                                  - NaN
                          - type: "null"
                      meterType:
                        $ref: "#/components/schemas/Prm"
                    required:
                      - country
                      - company
                      - prm
                      - address
                      - connectionCapacity_kVA
                      - meterType
                    additionalProperties: false
                  meters:
                    type: array
                    items:
                      anyOf:
                        - type: object
                          properties:
                            _tag:
                              type: string
                              enum:
                                - EuridisMeterDetails
                            identifier:
                              $ref: "#/components/schemas/Prm"
                            descriptionFr:
                              anyOf:
                                - $ref: "#/components/schemas/Prm"
                                - type: "null"
                            phaseType:
                              anyOf:
                                - type: string
                                  enum:
                                    - single-phase
                                    - three-phase
                                - type: "null"
                            serialNumber:
                              anyOf:
                                - $ref: "#/components/schemas/Prm"
                                - type: "null"
                            manufacturer:
                              anyOf:
                                - $ref: "#/components/schemas/Prm"
                                - type: "null"
                            manufacturingYear:
                              anyOf:
                                - $ref: "#/components/schemas/Prm"
                                - type: "null"
                          required:
                            - _tag
                            - identifier
                            - descriptionFr
                            - phaseType
                            - serialNumber
                            - manufacturer
                            - manufacturingYear
                          additionalProperties: false
                        - type: object
                          properties:
                            _tag:
                              type: string
                              enum:
                                - ManualMeterDetails
                            descriptionFr:
                              $ref: "#/components/schemas/Prm"
                            serialNumber:
                              $ref: "#/components/schemas/Prm"
                          required:
                            - _tag
                            - descriptionFr
                            - serialNumber
                          additionalProperties: false
                  contract:
                    type: object
                    properties:
                      resOrPro:
                        type: string
                        enum:
                          - RES
                          - PRO
                      holder:
                        $ref: "#/components/schemas/Prm"
                    required:
                      - resOrPro
                      - holder
                    additionalProperties: false
                required:
                  - delivery
                  - meters
                  - contract
                additionalProperties: false
                examples:
                  - delivery:
                      country: FR
                      company: Enedis
                      prm: "00059461297239"
                      address: 66 AVENUE VICTOR HUGO 75116 PARIS 16
                      connectionCapacity_kVA: 12
                      meterType: AMM
                    meters:
                      - _tag: EuridisMeterDetails
                        descriptionFr: Compteur Saphir
                        manufacturer: SAGEM / SAGEMCOM
                        manufacturingYear: "2017"
                        serialNumber: "021739001104"
                        phaseType: three-phase
                        identifier: "001104"
                    contract:
                      resOrPro: RES
                      holder: DUPONT Marie
        "400":
          description: BadRequest
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/BadRequest"
                  - $ref: "#/components/schemas/BadRequest1"
        "401":
          description: Some credentials are required to access this resource | Unauthorized
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/Unauthorized"
                  - $ref: "#/components/schemas/effect_HttpApiError_Unauthorized"
        "403":
          description: You don't have permission to access this resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Forbidden"
        "404":
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFound"
        "500":
          description: An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Unexpected"
        "503":
          description: The service is currently unavailable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  _tag:
                    type: string
                    enum:
                      - ServiceUnavailable
                  message:
                    $ref: "#/components/schemas/Prm"
                required:
                  - _tag
                  - message
                additionalProperties: false
                title: Service Unavailable
                description: The service is currently unavailable.
      summary: Get the details of an Enedis contract
  /integration/enedis/order/{orderId}:
    get:
      tags:
        - integration/enedis
      operationId: getOrder
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            default: v0
          description: API version header. Use 'v0' for this version.
        - name: orderId
          in: path
          schema:
            $ref: "#/components/schemas/Prm"
          required: true
        - name: switchgrid-test-env
          in: header
          schema:
            anyOf:
              - type: string
                enum:
                  - "true"
                  - "false"
              - type: "null"
          required: false
      security:
        - bearerAuth: []
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: "#/components/schemas/Prm"
                  status:
                    anyOf:
                      - type: string
                        enum:
                          - CREATED
                        title: CREATED
                      - type: string
                        enum:
                          - PENDING_REQUESTS
                        title: PENDING_REQUESTS
                      - type: string
                        enum:
                          - COMPLETED
                        title: COMPLETED
                  requests:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          $ref: "#/components/schemas/Prm"
                        type:
                          type: string
                          enum:
                            - C68
                            - C68_ASYNC
                            - R63
                            - R63_SYNC
                            - R64
                            - R64_SYNC
                            - R65
                            - R65_SYNC
                            - R66
                            - R66_SYNC
                            - R67
                            - LOADCURVE
                        status:
                          anyOf:
                            - type: string
                              enum:
                                - NOT_STARTED
                              title: NOT_STARTED
                            - type: string
                              enum:
                                - QUEUED
                              title: QUEUED
                            - type: string
                              enum:
                                - PENDING
                              title: PENDING
                            - type: string
                              enum:
                                - SUCCESS
                              title: SUCCESS
                            - type: string
                              enum:
                                - FAILED
                              title: FAILED
                        orderedAt:
                          anyOf:
                            - type: string
                            - type: "null"
                        completedAt:
                          anyOf:
                            - type: string
                            - type: "null"
                        dataUrl:
                          anyOf:
                            - anyOf:
                                - $ref: "#/components/schemas/Prm"
                                - type: "null"
                            - type: "null"
                        dataUrls:
                          anyOf:
                            - type: array
                              items:
                                $ref: "#/components/schemas/Prm"
                            - type: "null"
                        errorMessage:
                          anyOf:
                            - $ref: "#/components/schemas/Prm"
                            - type: "null"
                        requestedTimeRange:
                          anyOf:
                            - anyOf:
                                - $ref: "#/components/schemas/Prm"
                                - type: "null"
                            - type: "null"
                        summaryPerContract:
                          anyOf:
                            - type: array
                              items:
                                anyOf:
                                  - anyOf:
                                      - type: object
                                        properties:
                                          _tag:
                                            type: string
                                            enum:
                                              - LoadcurveRequestContractSummary
                                          _status:
                                            type: string
                                            enum:
                                              - final
                                          prm:
                                            $ref: "#/components/schemas/Prm"
                                          timeRangeCoverageRatio:
                                            anyOf:
                                              - anyOf:
                                                  - type: number
                                                  - type: string
                                                    enum:
                                                      - NaN
                                                  - type: string
                                                    enum:
                                                      - Infinity
                                                  - type: string
                                                    enum:
                                                      - -Infinity
                                              - type: string
                                                enum:
                                                  - Infinity
                                                  - -Infinity
                                                  - NaN
                                          holes:
                                            type: array
                                            items:
                                              $ref: "#/components/schemas/Prm"
                                            description: An array of intervals that are **NOT** covered by the returned
                                              data. It's an array of intervals.
                                              Each interval is 2 dates separated
                                              by a slash. The dates are in ISO
                                              8601 format.
                                            examples:
                                              - - s:
                                                    ts: 1735689600000
                                                    _zone: {}
                                                    loc:
                                                      locale: en-US
                                                      numberingSystem: null
                                                      outputCalendar: null
                                                      weekSettings: null
                                                      intl: en-US
                                                      weekdaysCache:
                                                        format: {}
                                                        standalone: {}
                                                      monthsCache:
                                                        format: {}
                                                        standalone: {}
                                                      meridiemCache: null
                                                      eraCache: {}
                                                      specifiedLocale: null
                                                      fastNumbersCached: null
                                                    invalid: null
                                                    weekData: null
                                                    localWeekData: null
                                                    c:
                                                      year: 2025
                                                      month: 1
                                                      day: 1
                                                      hour: 0
                                                      minute: 0
                                                      second: 0
                                                      millisecond: 0
                                                    o: 0
                                                    isLuxonDateTime: true
                                                  e:
                                                    ts: 1735689600000
                                                    _zone: {}
                                                    loc:
                                                      locale: en-US
                                                      numberingSystem: null
                                                      outputCalendar: null
                                                      weekSettings: null
                                                      intl: en-US
                                                      weekdaysCache:
                                                        format: {}
                                                        standalone: {}
                                                      monthsCache:
                                                        format: {}
                                                        standalone: {}
                                                      meridiemCache: null
                                                      eraCache: {}
                                                      specifiedLocale: null
                                                      fastNumbersCached: null
                                                    invalid: null
                                                    weekData: null
                                                    localWeekData: null
                                                    c:
                                                      year: 2025
                                                      month: 1
                                                      day: 1
                                                      hour: 0
                                                      minute: 0
                                                      second: 0
                                                      millisecond: 0
                                                    o: 0
                                                    isLuxonDateTime: true
                                                  invalid: null
                                                  isLuxonInterval: true
                                          errorMessage:
                                            anyOf:
                                              - $ref: "#/components/schemas/Prm"
                                              - type: "null"
                                        required:
                                          - _tag
                                          - _status
                                          - prm
                                          - timeRangeCoverageRatio
                                          - holes
                                          - errorMessage
                                        additionalProperties: false
                                      - type: object
                                        properties:
                                          _tag:
                                            type: string
                                            enum:
                                              - LoadcurveRequestContractSummary
                                          _status:
                                            type: string
                                            enum:
                                              - pending
                                          prm:
                                            $ref: "#/components/schemas/Prm"
                                          message:
                                            $ref: "#/components/schemas/Prm"
                                        required:
                                          - _tag
                                          - _status
                                          - prm
                                          - message
                                        additionalProperties: false
                                  - type: object
                                    properties:
                                      _tag:
                                        type: string
                                        enum:
                                          - RawFileContractSummary
                                      prm:
                                        $ref: "#/components/schemas/Prm"
                                      fileUrl:
                                        anyOf:
                                          - $ref: "#/components/schemas/Prm"
                                          - type: "null"
                                      errorMessage:
                                        anyOf:
                                          - $ref: "#/components/schemas/Prm"
                                          - type: "null"
                                    required:
                                      - _tag
                                      - prm
                                      - fileUrl
                                      - errorMessage
                                    additionalProperties: false
                            - type: "null"
                        loadCurve:
                          anyOf:
                            - anyOf:
                                - type: object
                                  properties:
                                    period:
                                      $ref: "#/components/schemas/Prm"
                                    startsAt:
                                      type: string
                                    endsAt:
                                      type: string
                                    values:
                                      type: array
                                      items:
                                        anyOf:
                                          - anyOf:
                                              - anyOf:
                                                  - type: number
                                                  - type: string
                                                    enum:
                                                      - NaN
                                                  - type: string
                                                    enum:
                                                      - Infinity
                                                  - type: string
                                                    enum:
                                                      - -Infinity
                                              - type: string
                                                enum:
                                                  - Infinity
                                                  - -Infinity
                                                  - NaN
                                          - type: "null"
                                  required:
                                    - period
                                    - startsAt
                                    - endsAt
                                    - values
                                  additionalProperties: false
                                - type: "null"
                            - type: "null"
                      required:
                        - id
                        - type
                        - status
                        - orderedAt
                        - completedAt
                        - errorMessage
                      additionalProperties: false
                    examples:
                      - - id: da466b13-6904-4a5d-a108-746808686631
                          type: C68
                          status: SUCCESS
                          completedAt: {}
                          dataUrl: https://example.com/data.json
                          errorMessage: null
                          orderedAt: {}
                required:
                  - id
                  - status
                  - requests
                additionalProperties: false
        "400":
          description: BadRequest
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/BadRequest"
                  - $ref: "#/components/schemas/BadRequest1"
        "401":
          description: Some credentials are required to access this resource | Unauthorized
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/Unauthorized"
                  - $ref: "#/components/schemas/effect_HttpApiError_Unauthorized"
        "403":
          description: You don't have permission to access this resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Forbidden"
        "404":
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFound"
        "500":
          description: An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Unexpected"
        "503":
          description: The service is currently unavailable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  _tag:
                    type: string
                    enum:
                      - ServiceUnavailable
                  message:
                    $ref: "#/components/schemas/Prm"
                required:
                  - _tag
                  - message
                additionalProperties: false
                title: Service Unavailable
                description: The service is currently unavailable.
      summary: Get an order by id
  /integration/enedis/request/{requestId}/data:
    get:
      tags:
        - integration/enedis
      operationId: getRequestData
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            default: v0
          description: API version header. Use 'v0' for this version.
        - name: requestId
          in: path
          schema:
            $ref: "#/components/schemas/Prm"
          required: true
        - name: switchgrid-test-env
          in: header
          schema:
            anyOf:
              - type: string
                enum:
                  - "true"
                  - "false"
              - type: "null"
          required: false
        - name: period
          in: query
          schema:
            anyOf:
              - type: string
                enum:
                  - 5min
                  - 10min
                  - 15min
                  - 30min
                  - 1h
                  - 1d
                description: The period of data to retrieve
                default: 1h
              - type: "null"
          required: true
        - name: format
          in: query
          schema:
            anyOf:
              - type: string
                enum:
                  - csv
                  - json
                  - xlsx
                description: format of the data
                default: json
              - type: "null"
          required: true
        - name: since
          in: query
          schema:
            anyOf:
              - type: string
                examples:
                  - 2024-12-10T00:00:00
                  - 2024-12-10T12:00:00Z
                  - 2024-12-10T00:00:00+01:00
                  - 2024-12-10
                  - 2024-12-10T00:00:00[Europe/Paris]
                  - 2024-12-10T00:00:00[CET]
              - type: "null"
          required: false
        - name: until
          in: query
          schema:
            anyOf:
              - type: string
                examples:
                  - 2024-12-10T00:00:00
                  - 2024-12-10T12:00:00Z
                  - 2024-12-10T00:00:00+01:00
                  - 2024-12-10
                  - 2024-12-10T00:00:00[Europe/Paris]
                  - 2024-12-10T00:00:00[CET]
              - type: "null"
          required: false
        - name: prm
          in: query
          schema:
            anyOf:
              - $ref: "#/components/schemas/Prm"
              - type: "null"
          required: false
        - name: ignoreRequestStatus
          in: query
          schema:
            anyOf:
              - type: string
                enum:
                  - "true"
                  - "false"
              - type: "null"
            description: Whether to ignore the request status and return data even if the
              request is not marked as completed. Use with caution. This can
              return incomplete data. Use when a multi-prm request is stuck in
              PENDING but most data is available.
            default: false
          required: false
        - name: csvLocalization
          in: query
          schema:
            anyOf:
              - type: string
                enum:
                  - fr
                  - international
              - type: "null"
          required: false
        - name: csvColumnSeparator
          in: query
          schema:
            anyOf:
              - type: string
                enum:
                  - COMMA
                  - SEMICOLON
              - type: "null"
          required: false
        - name: csvDecimalSeparator
          in: query
          schema:
            anyOf:
              - type: string
                enum:
                  - DOT
                  - COMMA
              - type: "null"
          required: false
        - name: timezone
          in: query
          schema:
            anyOf:
              - anyOf:
                  - type: string
                    enum:
                      - LOCAL
                      - UTC
                  - type: "null"
              - type: "null"
          required: false
      security:
        - bearerAuth: []
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema: {}
        "400":
          description: BadRequest
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/BadRequest"
                  - $ref: "#/components/schemas/BadRequest1"
        "401":
          description: Some credentials are required to access this resource | Unauthorized
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/Unauthorized"
                  - $ref: "#/components/schemas/effect_HttpApiError_Unauthorized"
        "403":
          description: You don't have permission to access this resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Forbidden"
        "404":
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFound"
        "500":
          description: An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Unexpected"
        "503":
          description: The service is currently unavailable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  _tag:
                    type: string
                    enum:
                      - ServiceUnavailable
                  message:
                    $ref: "#/components/schemas/Prm"
                required:
                  - _tag
                  - message
                additionalProperties: false
                title: Service Unavailable
                description: The service is currently unavailable.
      summary: Get data for a request
  /data-third-party:
    post:
      tags:
        - data-third-party
      operationId: createDataThirdParty
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            default: v0
          description: API version header. Use 'v0' for this version.
        - name: switchgrid-test-env
          in: header
          schema:
            anyOf:
              - type: string
                enum:
                  - "true"
                  - "false"
              - type: "null"
          required: false
      security:
        - bearerAuth: []
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                    description: Name ot the DataThirdParty. This name will appear in Ask consent
                      forms
                  slug:
                    type: string
                    description: Unique identifier (in the scope of your project) of the
                      DataThirdParty. This will be used to identify the
                      DataThirdParty when creating the Ask via the API
                  createdAt:
                    type: string
                    examples:
                      - 2024-12-10T00:00:00
                      - 2024-12-10T12:00:00Z
                      - 2024-12-10T00:00:00+01:00
                      - 2024-12-10
                      - 2024-12-10T00:00:00[Europe/Paris]
                      - 2024-12-10T00:00:00[CET]
                  deletedAt:
                    anyOf:
                      - type: string
                        examples:
                          - 2024-12-10T00:00:00
                          - 2024-12-10T12:00:00Z
                          - 2024-12-10T00:00:00+01:00
                          - 2024-12-10
                          - 2024-12-10T00:00:00[Europe/Paris]
                          - 2024-12-10T00:00:00[CET]
                      - type: "null"
                  websiteUrl:
                    anyOf:
                      - type: string
                        description: Website URL of the DataThirdParty. If specified, users will be able
                          to click on it from the Ask consent form
                      - type: "null"
                  frSiret:
                    anyOf:
                      - type: string
                        description: Siret number of the DataThirdParty. This will be used to identify
                          the DataThirdParty when creating the Ask via the API
                      - type: "null"
                  internationalCompanyIdentificationNumber:
                    anyOf:
                      - type: string
                        description: For non-french third parties, international company identification
                          number of the DataThirdParty. This will be used to
                          identify the DataThirdParty when creating the Ask via
                          the API
                      - type: "null"
                  logoUrl:
                    anyOf:
                      - $ref: "#/components/schemas/Prm"
                      - type: "null"
                    description: A public signed URL of the DataThirdParty
                required:
                  - name
                  - slug
                  - createdAt
                  - deletedAt
                  - websiteUrl
                  - frSiret
                  - internationalCompanyIdentificationNumber
                  - logoUrl
                additionalProperties: false
        "400":
          description: BadRequest
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/BadRequest"
                  - $ref: "#/components/schemas/BadRequest1"
        "401":
          description: Some credentials are required to access this resource | Unauthorized
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/Unauthorized"
                  - $ref: "#/components/schemas/effect_HttpApiError_Unauthorized"
        "403":
          description: You don't have permission to access this resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Forbidden"
        "404":
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFound"
        "500":
          description: An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Unexpected"
      summary: Create a DataThirdParty
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                slug:
                  type: string
                  description: Unique identifier (in the scope of your project) of the
                    DataThirdParty. This will be used to identify the
                    DataThirdParty when creating the Ask via the API
                name:
                  type: string
                  description: Name ot the DataThirdParty. This name will appear in Ask consent
                    forms
                websiteUrl:
                  anyOf:
                    - type: string
                      description: Website URL of the DataThirdParty. If specified, users will be able
                        to click on it from the Ask consent form
                    - type: "null"
                frSiret:
                  anyOf:
                    - type: string
                      description: Siret number of the DataThirdParty. This will be used to identify
                        the DataThirdParty when creating the Ask via the API
                    - type: "null"
                internationalCompanyIdentificationNumber:
                  anyOf:
                    - type: string
                      description: For non-french third parties, international company identification
                        number of the DataThirdParty. This will be used to
                        identify the DataThirdParty when creating the Ask via
                        the API
                    - type: "null"
                logoBase64:
                  anyOf:
                    - $ref: "#/components/schemas/Prm"
                    - type: "null"
                  description: Base64-encoded logo of the DataThirdParty. This logo will appear in
                    Ask consent forms. Accepts `png`, `jpg`, and `svg`.
                projectId:
                  anyOf:
                    - $ref: "#/components/schemas/Prm"
                    - type: "null"
                  description: The id (UUID) of the project the DataThirdParty belongs to. Only
                    required if it's ambiguous (if this request is not done with
                    a service account or if the user has access to multiple
                    projects).
              required:
                - slug
                - name
              additionalProperties: false
        required: true
    get:
      tags:
        - data-third-party
      operationId: listDataThirdParties
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            default: v0
          description: API version header. Use 'v0' for this version.
        - name: switchgrid-test-env
          in: header
          schema:
            anyOf:
              - type: string
                enum:
                  - "true"
                  - "false"
              - type: "null"
          required: false
        - name: skip
          in: query
          schema:
            anyOf:
              - type: string
              - type: "null"
          required: false
        - name: limit
          in: query
          schema:
            anyOf:
              - type: string
              - type: "null"
          required: false
        - name: orderBy
          in: query
          schema:
            anyOf:
              - $ref: "#/components/schemas/Prm"
              - type: "null"
          required: false
        - name: projectId
          in: query
          schema:
            anyOf:
              - anyOf:
                  - $ref: "#/components/schemas/Prm"
                  - type: "null"
                description: The id (UUID) of the project to list data third parties of. Only
                  required if it's ambiguous (if this request is not done with a
                  service account or if the user has access to multiple
                  projects).
              - type: "null"
          required: false
      security:
        - bearerAuth: []
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  skip:
                    anyOf:
                      - anyOf:
                          - type: number
                          - type: string
                            enum:
                              - NaN
                          - type: string
                            enum:
                              - Infinity
                          - type: string
                            enum:
                              - -Infinity
                      - type: string
                        enum:
                          - Infinity
                          - -Infinity
                          - NaN
                  limit:
                    anyOf:
                      - anyOf:
                          - type: number
                          - type: string
                            enum:
                              - NaN
                          - type: string
                            enum:
                              - Infinity
                          - type: string
                            enum:
                              - -Infinity
                      - type: string
                        enum:
                          - Infinity
                          - -Infinity
                          - NaN
                  totalItemsCount:
                    anyOf:
                      - anyOf:
                          - type: number
                          - type: string
                            enum:
                              - NaN
                          - type: string
                            enum:
                              - Infinity
                          - type: string
                            enum:
                              - -Infinity
                      - type: string
                        enum:
                          - Infinity
                          - -Infinity
                          - NaN
                  returnedItemsCount:
                    anyOf:
                      - anyOf:
                          - type: number
                          - type: string
                            enum:
                              - NaN
                          - type: string
                            enum:
                              - Infinity
                          - type: string
                            enum:
                              - -Infinity
                      - type: string
                        enum:
                          - Infinity
                          - -Infinity
                          - NaN
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          description: Name ot the DataThirdParty. This name will appear in Ask consent
                            forms
                        slug:
                          type: string
                          description: Unique identifier (in the scope of your project) of the
                            DataThirdParty. This will be used to identify the
                            DataThirdParty when creating the Ask via the API
                        createdAt:
                          type: string
                          examples:
                            - 2024-12-10T00:00:00
                            - 2024-12-10T12:00:00Z
                            - 2024-12-10T00:00:00+01:00
                            - 2024-12-10
                            - 2024-12-10T00:00:00[Europe/Paris]
                            - 2024-12-10T00:00:00[CET]
                        deletedAt:
                          anyOf:
                            - type: string
                              examples:
                                - 2024-12-10T00:00:00
                                - 2024-12-10T12:00:00Z
                                - 2024-12-10T00:00:00+01:00
                                - 2024-12-10
                                - 2024-12-10T00:00:00[Europe/Paris]
                                - 2024-12-10T00:00:00[CET]
                            - type: "null"
                        websiteUrl:
                          anyOf:
                            - type: string
                              description: Website URL of the DataThirdParty. If specified, users will be able
                                to click on it from the Ask consent form
                            - type: "null"
                        frSiret:
                          anyOf:
                            - type: string
                              description: Siret number of the DataThirdParty. This will be used to identify
                                the DataThirdParty when creating the Ask via the
                                API
                            - type: "null"
                        internationalCompanyIdentificationNumber:
                          anyOf:
                            - type: string
                              description: For non-french third parties, international company identification
                                number of the DataThirdParty. This will be used
                                to identify the DataThirdParty when creating the
                                Ask via the API
                            - type: "null"
                        logoUrl:
                          anyOf:
                            - $ref: "#/components/schemas/Prm"
                            - type: "null"
                          description: A public signed URL of the DataThirdParty
                      required:
                        - name
                        - slug
                        - createdAt
                        - deletedAt
                        - websiteUrl
                        - frSiret
                        - internationalCompanyIdentificationNumber
                        - logoUrl
                      additionalProperties: false
                required:
                  - skip
                  - limit
                  - totalItemsCount
                  - returnedItemsCount
                  - items
                additionalProperties: false
        "400":
          description: BadRequest
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/BadRequest"
                  - $ref: "#/components/schemas/BadRequest1"
        "401":
          description: Some credentials are required to access this resource | Unauthorized
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/Unauthorized"
                  - $ref: "#/components/schemas/effect_HttpApiError_Unauthorized"
        "403":
          description: You don't have permission to access this resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Forbidden"
        "404":
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFound"
        "500":
          description: An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Unexpected"
      summary: List data third parties
  /data-third-party/{slug}:
    put:
      tags:
        - data-third-party
      operationId: updateDataThirdParty
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            default: v0
          description: API version header. Use 'v0' for this version.
        - name: slug
          in: path
          schema:
            $ref: "#/components/schemas/Prm"
          required: true
        - name: switchgrid-test-env
          in: header
          schema:
            anyOf:
              - type: string
                enum:
                  - "true"
                  - "false"
              - type: "null"
          required: false
      security:
        - bearerAuth: []
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                    description: Name ot the DataThirdParty. This name will appear in Ask consent
                      forms
                  slug:
                    type: string
                    description: Unique identifier (in the scope of your project) of the
                      DataThirdParty. This will be used to identify the
                      DataThirdParty when creating the Ask via the API
                  createdAt:
                    type: string
                    examples:
                      - 2024-12-10T00:00:00
                      - 2024-12-10T12:00:00Z
                      - 2024-12-10T00:00:00+01:00
                      - 2024-12-10
                      - 2024-12-10T00:00:00[Europe/Paris]
                      - 2024-12-10T00:00:00[CET]
                  deletedAt:
                    anyOf:
                      - type: string
                        examples:
                          - 2024-12-10T00:00:00
                          - 2024-12-10T12:00:00Z
                          - 2024-12-10T00:00:00+01:00
                          - 2024-12-10
                          - 2024-12-10T00:00:00[Europe/Paris]
                          - 2024-12-10T00:00:00[CET]
                      - type: "null"
                  websiteUrl:
                    anyOf:
                      - type: string
                        description: Website URL of the DataThirdParty. If specified, users will be able
                          to click on it from the Ask consent form
                      - type: "null"
                  frSiret:
                    anyOf:
                      - type: string
                        description: Siret number of the DataThirdParty. This will be used to identify
                          the DataThirdParty when creating the Ask via the API
                      - type: "null"
                  internationalCompanyIdentificationNumber:
                    anyOf:
                      - type: string
                        description: For non-french third parties, international company identification
                          number of the DataThirdParty. This will be used to
                          identify the DataThirdParty when creating the Ask via
                          the API
                      - type: "null"
                  logoUrl:
                    anyOf:
                      - $ref: "#/components/schemas/Prm"
                      - type: "null"
                    description: A public signed URL of the DataThirdParty
                required:
                  - name
                  - slug
                  - createdAt
                  - deletedAt
                  - websiteUrl
                  - frSiret
                  - internationalCompanyIdentificationNumber
                  - logoUrl
                additionalProperties: false
        "400":
          description: BadRequest
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/BadRequest"
                  - $ref: "#/components/schemas/BadRequest1"
        "401":
          description: Some credentials are required to access this resource | Unauthorized
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/Unauthorized"
                  - $ref: "#/components/schemas/effect_HttpApiError_Unauthorized"
        "403":
          description: You don't have permission to access this resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Forbidden"
        "404":
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFound"
        "500":
          description: An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Unexpected"
      summary: Update a DataThirdParty
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                slug:
                  anyOf:
                    - type: string
                      description: Unique identifier (in the scope of your project) of the
                        DataThirdParty. This will be used to identify the
                        DataThirdParty when creating the Ask via the API
                    - type: "null"
                name:
                  anyOf:
                    - type: string
                      description: Name ot the DataThirdParty. This name will appear in Ask consent
                        forms
                    - type: "null"
                websiteUrl:
                  anyOf:
                    - anyOf:
                        - type: string
                          description: Website URL of the DataThirdParty. If specified, users will be able
                            to click on it from the Ask consent form
                        - type: "null"
                    - type: "null"
                frSiret:
                  anyOf:
                    - anyOf:
                        - type: string
                          description: Siret number of the DataThirdParty. This will be used to identify
                            the DataThirdParty when creating the Ask via the API
                        - type: "null"
                    - type: "null"
                internationalCompanyIdentificationNumber:
                  anyOf:
                    - anyOf:
                        - type: string
                          description: For non-french third parties, international company identification
                            number of the DataThirdParty. This will be used to
                            identify the DataThirdParty when creating the Ask
                            via the API
                        - type: "null"
                    - type: "null"
                logoBase64:
                  anyOf:
                    - anyOf:
                        - $ref: "#/components/schemas/Prm"
                        - type: "null"
                    - type: "null"
                  description: Base64-encoded logo of the DataThirdParty. This logo will appear in
                    Ask consent forms.
                projectId:
                  anyOf:
                    - $ref: "#/components/schemas/Prm"
                    - type: "null"
                  description: The id (UUID) of the project the DataThirdParty belongs to. Only
                    required if it's ambiguous (if this request is not done with
                    a service account or if the user has access to multiple
                    projects).
              additionalProperties: false
        required: true
    delete:
      tags:
        - data-third-party
      operationId: deleteDataThirdParty
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            default: v0
          description: API version header. Use 'v0' for this version.
        - name: slug
          in: path
          schema:
            $ref: "#/components/schemas/Prm"
          required: true
        - name: switchgrid-test-env
          in: header
          schema:
            anyOf:
              - type: string
                enum:
                  - "true"
                  - "false"
              - type: "null"
          required: false
        - name: projectId
          in: query
          schema:
            anyOf:
              - $ref: "#/components/schemas/Prm"
              - type: "null"
          required: false
      security:
        - bearerAuth: []
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                    description: Name ot the DataThirdParty. This name will appear in Ask consent
                      forms
                  slug:
                    type: string
                    description: Unique identifier (in the scope of your project) of the
                      DataThirdParty. This will be used to identify the
                      DataThirdParty when creating the Ask via the API
                  createdAt:
                    type: string
                    examples:
                      - 2024-12-10T00:00:00
                      - 2024-12-10T12:00:00Z
                      - 2024-12-10T00:00:00+01:00
                      - 2024-12-10
                      - 2024-12-10T00:00:00[Europe/Paris]
                      - 2024-12-10T00:00:00[CET]
                  deletedAt:
                    anyOf:
                      - type: string
                        examples:
                          - 2024-12-10T00:00:00
                          - 2024-12-10T12:00:00Z
                          - 2024-12-10T00:00:00+01:00
                          - 2024-12-10
                          - 2024-12-10T00:00:00[Europe/Paris]
                          - 2024-12-10T00:00:00[CET]
                      - type: "null"
                  websiteUrl:
                    anyOf:
                      - type: string
                        description: Website URL of the DataThirdParty. If specified, users will be able
                          to click on it from the Ask consent form
                      - type: "null"
                  frSiret:
                    anyOf:
                      - type: string
                        description: Siret number of the DataThirdParty. This will be used to identify
                          the DataThirdParty when creating the Ask via the API
                      - type: "null"
                  internationalCompanyIdentificationNumber:
                    anyOf:
                      - type: string
                        description: For non-french third parties, international company identification
                          number of the DataThirdParty. This will be used to
                          identify the DataThirdParty when creating the Ask via
                          the API
                      - type: "null"
                  logoUrl:
                    anyOf:
                      - $ref: "#/components/schemas/Prm"
                      - type: "null"
                    description: A public signed URL of the DataThirdParty
                required:
                  - name
                  - slug
                  - createdAt
                  - deletedAt
                  - websiteUrl
                  - frSiret
                  - internationalCompanyIdentificationNumber
                  - logoUrl
                additionalProperties: false
        "400":
          description: BadRequest
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/BadRequest"
                  - $ref: "#/components/schemas/BadRequest1"
        "401":
          description: Some credentials are required to access this resource | Unauthorized
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/Unauthorized"
                  - $ref: "#/components/schemas/effect_HttpApiError_Unauthorized"
        "403":
          description: You don't have permission to access this resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Forbidden"
        "404":
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFound"
        "500":
          description: An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Unexpected"
      summary: Delete a DataThirdParty
  /integration/grdf-adict/donnees-techniques:
    post:
      tags:
        - integration/grdf-adict
      operationId: grdf-adict/donnees-techniques
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            default: v0
          description: API version header. Use 'v0' for this version.
        - name: switchgrid-test-env
          in: header
          schema:
            anyOf:
              - type: string
                enum:
                  - "true"
                  - "false"
              - type: "null"
          required: false
      security:
        - bearerAuth: []
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  pce:
                    type: object
                    properties:
                      id_pce:
                        $ref: "#/components/schemas/Pce"
                    required:
                      - id_pce
                    additionalProperties: false
                  situation_compteur:
                    type: object
                    properties:
                      numero_rue:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                      nom_rue:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                      complement_adresse:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                      code_postal:
                        $ref: "#/components/schemas/Prm"
                      commune:
                        $ref: "#/components/schemas/Prm"
                    required:
                      - numero_rue
                      - nom_rue
                      - complement_adresse
                      - code_postal
                      - commune
                    additionalProperties: false
                  caracteristiques_compteur:
                    type: object
                    properties:
                      frequence:
                        $ref: "#/components/schemas/Prm"
                      client_sensible_mig:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                      code_calibre:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                      code_debit:
                        $ref: "#/components/schemas/Prm"
                      code_debit_normalise:
                        anyOf:
                          - anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - NaN
                                  - type: string
                                    enum:
                                      - Infinity
                                  - type: string
                                    enum:
                                      - -Infinity
                              - type: string
                                enum:
                                  - Infinity
                                  - -Infinity
                                  - NaN
                          - type: "null"
                      pression_livraison:
                        $ref: "#/components/schemas/Prm"
                      matricule_compteur:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                    required:
                      - frequence
                      - client_sensible_mig
                      - code_calibre
                      - code_debit
                      - code_debit_normalise
                      - pression_livraison
                      - matricule_compteur
                    additionalProperties: false
                  pitd:
                    type: object
                    properties:
                      identifiant_pitd:
                        $ref: "#/components/schemas/Prm"
                      libelle_pitd:
                        $ref: "#/components/schemas/Prm"
                    required:
                      - identifiant_pitd
                      - libelle_pitd
                    additionalProperties: false
                  regime_propriete:
                    type: object
                    properties:
                      regime_propriete_compteur:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                      regime_propriete_convertisseur:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                      regime_propriete_poste:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                      regime_propriete_enregistreur:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                    required:
                      - regime_propriete_compteur
                      - regime_propriete_convertisseur
                      - regime_propriete_poste
                      - regime_propriete_enregistreur
                    additionalProperties: false
                required:
                  - pce
                  - situation_compteur
                  - caracteristiques_compteur
                  - pitd
                  - regime_propriete
                additionalProperties: false
        "400":
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequest1"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/effect_HttpApiError_Unauthorized"
        "403":
          description: You don't have permission to access this resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Forbidden"
        "500":
          description: An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Unexpected"
      description: from GRDF. Technical and contractual data for the delivery point
      summary: Données Techniques
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                pce:
                  $ref: "#/components/schemas/Pce1"
              required:
                - pce
              additionalProperties: false
        required: true
  /integration/grdf-adict/donnees-contractuelles:
    post:
      tags:
        - integration/grdf-adict
      operationId: grdf-adict/donnees-contractuelles
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            default: v0
          description: API version header. Use 'v0' for this version.
        - name: switchgrid-test-env
          in: header
          schema:
            anyOf:
              - type: string
                enum:
                  - "true"
                  - "false"
              - type: "null"
          required: false
      security:
        - bearerAuth: []
      responses:
        "200":
          description: Contractual data for the delivery point
          content:
            application/json:
              schema:
                type: object
                properties:
                  pce:
                    type: object
                    properties:
                      id_pce:
                        $ref: "#/components/schemas/Pce"
                    required:
                      - id_pce
                    additionalProperties: false
                  date_mes:
                    anyOf:
                      - $ref: "#/components/schemas/Prm"
                      - type: "null"
                  tarif_acheminement:
                    anyOf:
                      - $ref: "#/components/schemas/Prm"
                      - type: "null"
                  date_publication:
                    anyOf:
                      - $ref: "#/components/schemas/Prm"
                      - type: "null"
                  consommation_journaliere_plafond:
                    anyOf:
                      - $ref: "#/components/schemas/Prm"
                      - type: "null"
                  car:
                    type: object
                    properties:
                      car_actuelle:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                      car_future:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                    required:
                      - car_actuelle
                      - car_future
                    additionalProperties: false
                  cja:
                    type: object
                    properties:
                      cja:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                      cja_journaliere:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                      cja_mensuelle:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                    required:
                      - cja
                      - cja_journaliere
                      - cja_mensuelle
                    additionalProperties: false
                  profil:
                    type: object
                    properties:
                      date_debut_profil_type_actuel:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                      date_fin_profil_type_actuel:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                      profil_type_actuel:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                      profil_type_futur:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                    required:
                      - date_debut_profil_type_actuel
                      - date_fin_profil_type_actuel
                      - profil_type_actuel
                      - profil_type_futur
                    additionalProperties: false
                  modulation:
                    type: object
                    properties:
                      modulation_n_1:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                      modulation_n_2:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                      modulation_n_3:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                      assiette:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                    required:
                      - modulation_n_1
                      - modulation_n_2
                      - modulation_n_3
                      - assiette
                    additionalProperties: false
                required:
                  - pce
                  - date_mes
                  - tarif_acheminement
                  - date_publication
                  - consommation_journaliere_plafond
                  - car
                  - cja
                  - profil
                  - modulation
                additionalProperties: false
                title: DonneesContractuelles
                description: Contractual data for the delivery point
                examples:
                  - pce:
                      id_pce: "00000000000000"
                    date_mes: 2016-10-20
                    tarif_acheminement: T2
                    date_publication: 2026-01-10
                    consommation_journaliere_plafond: null
                    car:
                      car_actuelle: "73704"
                      car_future: "55601"
                    cja:
                      cja: null
                      cja_journaliere: null
                      cja_mensuelle: null
                    profil:
                      date_debut_profil_type_actuel: 2022-04-01
                      date_fin_profil_type_actuel: 9999-12-31
                      profil_type_actuel: P012
                      profil_type_futur: P012
                    modulation:
                      modulation_n_1: null
                      modulation_n_2: null
                      modulation_n_3: null
                      assiette: null
        "400":
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequest1"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/effect_HttpApiError_Unauthorized"
        "403":
          description: You don't have permission to access this resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Forbidden"
        "500":
          description: An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Unexpected"
      description: from GRDF. Contractual data for the delivery point (tarif, profil,
        CAR, CJA, modulation)
      summary: Données Contractuelles
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                pce:
                  $ref: "#/components/schemas/Pce1"
              required:
                - pce
              additionalProperties: false
        required: true
  /integration/grdf-adict/donnees-informatives:
    post:
      tags:
        - integration/grdf-adict
      operationId: grdf-adict/donnees-informatives
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            default: v0
          description: API version header. Use 'v0' for this version.
        - name: switchgrid-test-env
          in: header
          schema:
            anyOf:
              - type: string
                enum:
                  - "true"
                  - "false"
              - type: "null"
          required: false
      security:
        - bearerAuth: []
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  pce:
                    type: object
                    properties:
                      id_pce:
                        $ref: "#/components/schemas/Pce"
                    required:
                      - id_pce
                    additionalProperties: false
                  periode:
                    type: object
                    properties:
                      valeur:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                      date_debut:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                      date_fin:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                    required:
                      - valeur
                      - date_debut
                      - date_fin
                    additionalProperties: false
                  consommations:
                    type: array
                    items:
                      type: object
                      properties:
                        consommation:
                          anyOf:
                            - type: object
                              properties:
                                date_debut_consommation:
                                  type: string
                                  examples:
                                    - 2024-12-10T00:00:00
                                    - 2024-12-10T12:00:00Z
                                    - 2024-12-10T00:00:00+01:00
                                    - 2024-12-10
                                    - 2024-12-10T00:00:00[Europe/Paris]
                                    - 2024-12-10T00:00:00[CET]
                                date_fin_consommation:
                                  type: string
                                  examples:
                                    - 2024-12-10T00:00:00
                                    - 2024-12-10T12:00:00Z
                                    - 2024-12-10T00:00:00+01:00
                                    - 2024-12-10
                                    - 2024-12-10T00:00:00[Europe/Paris]
                                    - 2024-12-10T00:00:00[CET]
                                flag_retour_zero:
                                  type: "null"
                                volume_brut:
                                  type: "null"
                                coeff_calcul:
                                  type: object
                                  properties:
                                    coeff_pta:
                                      type: "null"
                                    valeur_pcs:
                                      type: "null"
                                    coeff_conversion:
                                      type: "null"
                                  required:
                                    - coeff_pta
                                    - valeur_pcs
                                    - coeff_conversion
                                  additionalProperties: false
                                volume_converti:
                                  type: "null"
                                energie:
                                  type: "null"
                                type_qualif_conso:
                                  type: string
                                  enum:
                                    - Absence de Données
                                sens_flux_gaz:
                                  type: "null"
                                statut_conso:
                                  type: "null"
                                journee_gaziere:
                                  anyOf:
                                    - $ref: "#/components/schemas/Prm"
                                    - type: "null"
                                type_conso:
                                  type: "null"
                              required:
                                - date_debut_consommation
                                - date_fin_consommation
                                - flag_retour_zero
                                - volume_brut
                                - coeff_calcul
                                - volume_converti
                                - energie
                                - type_qualif_conso
                                - sens_flux_gaz
                                - statut_conso
                                - journee_gaziere
                                - type_conso
                              additionalProperties: false
                            - type: object
                              properties:
                                date_debut_consommation:
                                  type: string
                                  examples:
                                    - 2024-12-10T00:00:00
                                    - 2024-12-10T12:00:00Z
                                    - 2024-12-10T00:00:00+01:00
                                    - 2024-12-10
                                    - 2024-12-10T00:00:00[Europe/Paris]
                                    - 2024-12-10T00:00:00[CET]
                                date_fin_consommation:
                                  type: string
                                  examples:
                                    - 2024-12-10T00:00:00
                                    - 2024-12-10T12:00:00Z
                                    - 2024-12-10T00:00:00+01:00
                                    - 2024-12-10
                                    - 2024-12-10T00:00:00[Europe/Paris]
                                    - 2024-12-10T00:00:00[CET]
                                flag_retour_zero:
                                  anyOf:
                                    - type: boolean
                                    - type: "null"
                                volume_brut:
                                  anyOf:
                                    - anyOf:
                                        - anyOf:
                                            - type: number
                                            - type: string
                                              enum:
                                                - NaN
                                            - type: string
                                              enum:
                                                - Infinity
                                            - type: string
                                              enum:
                                                - -Infinity
                                        - type: string
                                          enum:
                                            - Infinity
                                            - -Infinity
                                            - NaN
                                    - type: "null"
                                coeff_calcul:
                                  type: object
                                  properties:
                                    coeff_pta:
                                      anyOf:
                                        - anyOf:
                                            - anyOf:
                                                - type: number
                                                - type: string
                                                  enum:
                                                    - NaN
                                                - type: string
                                                  enum:
                                                    - Infinity
                                                - type: string
                                                  enum:
                                                    - -Infinity
                                            - type: string
                                              enum:
                                                - Infinity
                                                - -Infinity
                                                - NaN
                                        - type: "null"
                                    valeur_pcs:
                                      anyOf:
                                        - anyOf:
                                            - anyOf:
                                                - type: number
                                                - type: string
                                                  enum:
                                                    - NaN
                                                - type: string
                                                  enum:
                                                    - Infinity
                                                - type: string
                                                  enum:
                                                    - -Infinity
                                            - type: string
                                              enum:
                                                - Infinity
                                                - -Infinity
                                                - NaN
                                        - type: "null"
                                    coeff_conversion:
                                      anyOf:
                                        - anyOf:
                                            - anyOf:
                                                - type: number
                                                - type: string
                                                  enum:
                                                    - NaN
                                                - type: string
                                                  enum:
                                                    - Infinity
                                                - type: string
                                                  enum:
                                                    - -Infinity
                                            - type: string
                                              enum:
                                                - Infinity
                                                - -Infinity
                                                - NaN
                                        - type: "null"
                                  required:
                                    - coeff_pta
                                    - valeur_pcs
                                    - coeff_conversion
                                  additionalProperties: false
                                volume_converti:
                                  anyOf:
                                    - anyOf:
                                        - anyOf:
                                            - type: number
                                            - type: string
                                              enum:
                                                - NaN
                                            - type: string
                                              enum:
                                                - Infinity
                                            - type: string
                                              enum:
                                                - -Infinity
                                        - type: string
                                          enum:
                                            - Infinity
                                            - -Infinity
                                            - NaN
                                    - type: "null"
                                energie:
                                  anyOf:
                                    - anyOf:
                                        - anyOf:
                                            - type: number
                                            - type: string
                                              enum:
                                                - NaN
                                            - type: string
                                              enum:
                                                - Infinity
                                            - type: string
                                              enum:
                                                - -Infinity
                                        - type: string
                                          enum:
                                            - Infinity
                                            - -Infinity
                                            - NaN
                                    - type: "null"
                                type_qualif_conso:
                                  $ref: "#/components/schemas/Prm"
                                sens_flux_gaz:
                                  $ref: "#/components/schemas/Prm"
                                statut_conso:
                                  $ref: "#/components/schemas/Prm"
                                journee_gaziere:
                                  anyOf:
                                    - $ref: "#/components/schemas/Prm"
                                    - type: "null"
                                type_conso:
                                  $ref: "#/components/schemas/Prm"
                              required:
                                - date_debut_consommation
                                - date_fin_consommation
                                - flag_retour_zero
                                - volume_brut
                                - coeff_calcul
                                - volume_converti
                                - energie
                                - type_qualif_conso
                                - sens_flux_gaz
                                - statut_conso
                                - journee_gaziere
                                - type_conso
                              additionalProperties: false
                        releve_debut:
                          type: object
                          properties:
                            date_releve:
                              anyOf:
                                - type: string
                                  examples:
                                    - 2024-12-10T00:00:00
                                    - 2024-12-10T12:00:00Z
                                    - 2024-12-10T00:00:00+01:00
                                    - 2024-12-10
                                    - 2024-12-10T00:00:00[Europe/Paris]
                                    - 2024-12-10T00:00:00[CET]
                                - type: "null"
                            index_brut_debut:
                              type: object
                              properties:
                                valeur_index:
                                  anyOf:
                                    - anyOf:
                                        - anyOf:
                                            - type: number
                                            - type: string
                                              enum:
                                                - NaN
                                            - type: string
                                              enum:
                                                - Infinity
                                            - type: string
                                              enum:
                                                - -Infinity
                                        - type: string
                                          enum:
                                            - Infinity
                                            - -Infinity
                                            - NaN
                                    - type: "null"
                                horodate_Index:
                                  anyOf:
                                    - type: string
                                      examples:
                                        - 2024-12-10T00:00:00
                                        - 2024-12-10T12:00:00Z
                                        - 2024-12-10T00:00:00+01:00
                                        - 2024-12-10
                                        - 2024-12-10T00:00:00[Europe/Paris]
                                        - 2024-12-10T00:00:00[CET]
                                    - type: "null"
                              required:
                                - valeur_index
                                - horodate_Index
                              additionalProperties: false
                            index_converti_debut:
                              type: object
                              properties:
                                valeur_index:
                                  anyOf:
                                    - anyOf:
                                        - anyOf:
                                            - type: number
                                            - type: string
                                              enum:
                                                - NaN
                                            - type: string
                                              enum:
                                                - Infinity
                                            - type: string
                                              enum:
                                                - -Infinity
                                        - type: string
                                          enum:
                                            - Infinity
                                            - -Infinity
                                            - NaN
                                    - type: "null"
                                horodate_Index:
                                  anyOf:
                                    - type: string
                                      examples:
                                        - 2024-12-10T00:00:00
                                        - 2024-12-10T12:00:00Z
                                        - 2024-12-10T00:00:00+01:00
                                        - 2024-12-10
                                        - 2024-12-10T00:00:00[Europe/Paris]
                                        - 2024-12-10T00:00:00[CET]
                                    - type: "null"
                              required:
                                - valeur_index
                                - horodate_Index
                              additionalProperties: false
                          required:
                            - date_releve
                            - index_brut_debut
                            - index_converti_debut
                          additionalProperties: false
                        releve_fin:
                          type: object
                          properties:
                            date_releve:
                              anyOf:
                                - type: string
                                  examples:
                                    - 2024-12-10T00:00:00
                                    - 2024-12-10T12:00:00Z
                                    - 2024-12-10T00:00:00+01:00
                                    - 2024-12-10
                                    - 2024-12-10T00:00:00[Europe/Paris]
                                    - 2024-12-10T00:00:00[CET]
                                - type: "null"
                            index_brut_fin:
                              type: object
                              properties:
                                valeur_index:
                                  anyOf:
                                    - anyOf:
                                        - anyOf:
                                            - type: number
                                            - type: string
                                              enum:
                                                - NaN
                                            - type: string
                                              enum:
                                                - Infinity
                                            - type: string
                                              enum:
                                                - -Infinity
                                        - type: string
                                          enum:
                                            - Infinity
                                            - -Infinity
                                            - NaN
                                    - type: "null"
                                horodate_Index:
                                  anyOf:
                                    - type: string
                                      examples:
                                        - 2024-12-10T00:00:00
                                        - 2024-12-10T12:00:00Z
                                        - 2024-12-10T00:00:00+01:00
                                        - 2024-12-10
                                        - 2024-12-10T00:00:00[Europe/Paris]
                                        - 2024-12-10T00:00:00[CET]
                                    - type: "null"
                              required:
                                - valeur_index
                                - horodate_Index
                              additionalProperties: false
                            index_converti_fin:
                              type: object
                              properties:
                                valeur_index:
                                  anyOf:
                                    - anyOf:
                                        - anyOf:
                                            - type: number
                                            - type: string
                                              enum:
                                                - NaN
                                            - type: string
                                              enum:
                                                - Infinity
                                            - type: string
                                              enum:
                                                - -Infinity
                                        - type: string
                                          enum:
                                            - Infinity
                                            - -Infinity
                                            - NaN
                                    - type: "null"
                                horodate_Index:
                                  anyOf:
                                    - type: string
                                      examples:
                                        - 2024-12-10T00:00:00
                                        - 2024-12-10T12:00:00Z
                                        - 2024-12-10T00:00:00+01:00
                                        - 2024-12-10
                                        - 2024-12-10T00:00:00[Europe/Paris]
                                        - 2024-12-10T00:00:00[CET]
                                    - type: "null"
                              required:
                                - valeur_index
                                - horodate_Index
                              additionalProperties: false
                          required:
                            - date_releve
                            - index_brut_fin
                            - index_converti_fin
                          additionalProperties: false
                      required:
                        - consommation
                        - releve_debut
                        - releve_fin
                      additionalProperties: false
                required:
                  - pce
                  - periode
                  - consommations
                additionalProperties: false
        "400":
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequest1"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/effect_HttpApiError_Unauthorized"
        "403":
          description: You don't have permission to access this resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Forbidden"
        "429":
          description: The rate limit for this resource has been exceeded.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RateLimited"
        "500":
          description: An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Unexpected"
      description: from GRDF. This is the most accurate data available from them.
      summary: Daily data - Données informatives
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                pce:
                  $ref: "#/components/schemas/Pce1"
              required:
                - pce
              additionalProperties: false
        required: true
  /integration/grdf-adict/donnees-publiees:
    post:
      tags:
        - integration/grdf-adict
      operationId: grdf-adict/donnees-publiees
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            default: v0
          description: API version header. Use 'v0' for this version.
        - name: switchgrid-test-env
          in: header
          schema:
            anyOf:
              - type: string
                enum:
                  - "true"
                  - "false"
              - type: "null"
          required: false
      security:
        - bearerAuth: []
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  pce:
                    type: object
                    properties:
                      id_pce:
                        $ref: "#/components/schemas/Pce"
                    required:
                      - id_pce
                    additionalProperties: false
                  periode:
                    type: object
                    properties:
                      valeur:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                      date_debut:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                      date_fin:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                    required:
                      - valeur
                      - date_debut
                      - date_fin
                    additionalProperties: false
                  consommations:
                    type: array
                    items:
                      type: object
                      properties:
                        consommation:
                          anyOf:
                            - type: object
                              properties:
                                date_debut_consommation:
                                  type: string
                                  examples:
                                    - 2024-12-10T00:00:00
                                    - 2024-12-10T12:00:00Z
                                    - 2024-12-10T00:00:00+01:00
                                    - 2024-12-10
                                    - 2024-12-10T00:00:00[Europe/Paris]
                                    - 2024-12-10T00:00:00[CET]
                                date_fin_consommation:
                                  type: string
                                  examples:
                                    - 2024-12-10T00:00:00
                                    - 2024-12-10T12:00:00Z
                                    - 2024-12-10T00:00:00+01:00
                                    - 2024-12-10
                                    - 2024-12-10T00:00:00[Europe/Paris]
                                    - 2024-12-10T00:00:00[CET]
                                flag_retour_zero:
                                  type: "null"
                                volume_brut:
                                  type: "null"
                                coeff_calcul:
                                  type: object
                                  properties:
                                    coeff_pta:
                                      type: "null"
                                    valeur_pcs:
                                      type: "null"
                                    coeff_conversion:
                                      type: "null"
                                  required:
                                    - coeff_pta
                                    - valeur_pcs
                                    - coeff_conversion
                                  additionalProperties: false
                                volume_converti:
                                  type: "null"
                                energie:
                                  type: "null"
                                type_qualif_conso:
                                  type: string
                                  enum:
                                    - Absence de Données
                                sens_flux_gaz:
                                  type: "null"
                                statut_conso:
                                  type: "null"
                                journee_gaziere:
                                  anyOf:
                                    - $ref: "#/components/schemas/Prm"
                                    - type: "null"
                                type_conso:
                                  type: "null"
                              required:
                                - date_debut_consommation
                                - date_fin_consommation
                                - flag_retour_zero
                                - volume_brut
                                - coeff_calcul
                                - volume_converti
                                - energie
                                - type_qualif_conso
                                - sens_flux_gaz
                                - statut_conso
                                - journee_gaziere
                                - type_conso
                              additionalProperties: false
                            - type: object
                              properties:
                                date_debut_consommation:
                                  type: string
                                  examples:
                                    - 2024-12-10T00:00:00
                                    - 2024-12-10T12:00:00Z
                                    - 2024-12-10T00:00:00+01:00
                                    - 2024-12-10
                                    - 2024-12-10T00:00:00[Europe/Paris]
                                    - 2024-12-10T00:00:00[CET]
                                date_fin_consommation:
                                  type: string
                                  examples:
                                    - 2024-12-10T00:00:00
                                    - 2024-12-10T12:00:00Z
                                    - 2024-12-10T00:00:00+01:00
                                    - 2024-12-10
                                    - 2024-12-10T00:00:00[Europe/Paris]
                                    - 2024-12-10T00:00:00[CET]
                                flag_retour_zero:
                                  anyOf:
                                    - type: boolean
                                    - type: "null"
                                volume_brut:
                                  anyOf:
                                    - anyOf:
                                        - anyOf:
                                            - type: number
                                            - type: string
                                              enum:
                                                - NaN
                                            - type: string
                                              enum:
                                                - Infinity
                                            - type: string
                                              enum:
                                                - -Infinity
                                        - type: string
                                          enum:
                                            - Infinity
                                            - -Infinity
                                            - NaN
                                    - type: "null"
                                coeff_calcul:
                                  type: object
                                  properties:
                                    coeff_pta:
                                      anyOf:
                                        - anyOf:
                                            - anyOf:
                                                - type: number
                                                - type: string
                                                  enum:
                                                    - NaN
                                                - type: string
                                                  enum:
                                                    - Infinity
                                                - type: string
                                                  enum:
                                                    - -Infinity
                                            - type: string
                                              enum:
                                                - Infinity
                                                - -Infinity
                                                - NaN
                                        - type: "null"
                                    valeur_pcs:
                                      anyOf:
                                        - anyOf:
                                            - anyOf:
                                                - type: number
                                                - type: string
                                                  enum:
                                                    - NaN
                                                - type: string
                                                  enum:
                                                    - Infinity
                                                - type: string
                                                  enum:
                                                    - -Infinity
                                            - type: string
                                              enum:
                                                - Infinity
                                                - -Infinity
                                                - NaN
                                        - type: "null"
                                    coeff_conversion:
                                      anyOf:
                                        - anyOf:
                                            - anyOf:
                                                - type: number
                                                - type: string
                                                  enum:
                                                    - NaN
                                                - type: string
                                                  enum:
                                                    - Infinity
                                                - type: string
                                                  enum:
                                                    - -Infinity
                                            - type: string
                                              enum:
                                                - Infinity
                                                - -Infinity
                                                - NaN
                                        - type: "null"
                                  required:
                                    - coeff_pta
                                    - valeur_pcs
                                    - coeff_conversion
                                  additionalProperties: false
                                volume_converti:
                                  anyOf:
                                    - anyOf:
                                        - anyOf:
                                            - type: number
                                            - type: string
                                              enum:
                                                - NaN
                                            - type: string
                                              enum:
                                                - Infinity
                                            - type: string
                                              enum:
                                                - -Infinity
                                        - type: string
                                          enum:
                                            - Infinity
                                            - -Infinity
                                            - NaN
                                    - type: "null"
                                energie:
                                  anyOf:
                                    - anyOf:
                                        - anyOf:
                                            - type: number
                                            - type: string
                                              enum:
                                                - NaN
                                            - type: string
                                              enum:
                                                - Infinity
                                            - type: string
                                              enum:
                                                - -Infinity
                                        - type: string
                                          enum:
                                            - Infinity
                                            - -Infinity
                                            - NaN
                                    - type: "null"
                                type_qualif_conso:
                                  $ref: "#/components/schemas/Prm"
                                sens_flux_gaz:
                                  $ref: "#/components/schemas/Prm"
                                statut_conso:
                                  $ref: "#/components/schemas/Prm"
                                journee_gaziere:
                                  anyOf:
                                    - $ref: "#/components/schemas/Prm"
                                    - type: "null"
                                type_conso:
                                  $ref: "#/components/schemas/Prm"
                              required:
                                - date_debut_consommation
                                - date_fin_consommation
                                - flag_retour_zero
                                - volume_brut
                                - coeff_calcul
                                - volume_converti
                                - energie
                                - type_qualif_conso
                                - sens_flux_gaz
                                - statut_conso
                                - journee_gaziere
                                - type_conso
                              additionalProperties: false
                        releve_debut:
                          type: object
                          properties:
                            date_releve:
                              anyOf:
                                - type: string
                                  examples:
                                    - 2024-12-10T00:00:00
                                    - 2024-12-10T12:00:00Z
                                    - 2024-12-10T00:00:00+01:00
                                    - 2024-12-10
                                    - 2024-12-10T00:00:00[Europe/Paris]
                                    - 2024-12-10T00:00:00[CET]
                                - type: "null"
                            index_brut_debut:
                              type: object
                              properties:
                                valeur_index:
                                  anyOf:
                                    - anyOf:
                                        - anyOf:
                                            - type: number
                                            - type: string
                                              enum:
                                                - NaN
                                            - type: string
                                              enum:
                                                - Infinity
                                            - type: string
                                              enum:
                                                - -Infinity
                                        - type: string
                                          enum:
                                            - Infinity
                                            - -Infinity
                                            - NaN
                                    - type: "null"
                                horodate_Index:
                                  anyOf:
                                    - type: string
                                      examples:
                                        - 2024-12-10T00:00:00
                                        - 2024-12-10T12:00:00Z
                                        - 2024-12-10T00:00:00+01:00
                                        - 2024-12-10
                                        - 2024-12-10T00:00:00[Europe/Paris]
                                        - 2024-12-10T00:00:00[CET]
                                    - type: "null"
                              required:
                                - valeur_index
                                - horodate_Index
                              additionalProperties: false
                            index_converti_debut:
                              type: object
                              properties:
                                valeur_index:
                                  anyOf:
                                    - anyOf:
                                        - anyOf:
                                            - type: number
                                            - type: string
                                              enum:
                                                - NaN
                                            - type: string
                                              enum:
                                                - Infinity
                                            - type: string
                                              enum:
                                                - -Infinity
                                        - type: string
                                          enum:
                                            - Infinity
                                            - -Infinity
                                            - NaN
                                    - type: "null"
                                horodate_Index:
                                  anyOf:
                                    - type: string
                                      examples:
                                        - 2024-12-10T00:00:00
                                        - 2024-12-10T12:00:00Z
                                        - 2024-12-10T00:00:00+01:00
                                        - 2024-12-10
                                        - 2024-12-10T00:00:00[Europe/Paris]
                                        - 2024-12-10T00:00:00[CET]
                                    - type: "null"
                              required:
                                - valeur_index
                                - horodate_Index
                              additionalProperties: false
                          required:
                            - date_releve
                            - index_brut_debut
                            - index_converti_debut
                          additionalProperties: false
                        releve_fin:
                          type: object
                          properties:
                            date_releve:
                              anyOf:
                                - type: string
                                  examples:
                                    - 2024-12-10T00:00:00
                                    - 2024-12-10T12:00:00Z
                                    - 2024-12-10T00:00:00+01:00
                                    - 2024-12-10
                                    - 2024-12-10T00:00:00[Europe/Paris]
                                    - 2024-12-10T00:00:00[CET]
                                - type: "null"
                            index_brut_fin:
                              type: object
                              properties:
                                valeur_index:
                                  anyOf:
                                    - anyOf:
                                        - anyOf:
                                            - type: number
                                            - type: string
                                              enum:
                                                - NaN
                                            - type: string
                                              enum:
                                                - Infinity
                                            - type: string
                                              enum:
                                                - -Infinity
                                        - type: string
                                          enum:
                                            - Infinity
                                            - -Infinity
                                            - NaN
                                    - type: "null"
                                horodate_Index:
                                  anyOf:
                                    - type: string
                                      examples:
                                        - 2024-12-10T00:00:00
                                        - 2024-12-10T12:00:00Z
                                        - 2024-12-10T00:00:00+01:00
                                        - 2024-12-10
                                        - 2024-12-10T00:00:00[Europe/Paris]
                                        - 2024-12-10T00:00:00[CET]
                                    - type: "null"
                              required:
                                - valeur_index
                                - horodate_Index
                              additionalProperties: false
                            index_converti_fin:
                              type: object
                              properties:
                                valeur_index:
                                  anyOf:
                                    - anyOf:
                                        - anyOf:
                                            - type: number
                                            - type: string
                                              enum:
                                                - NaN
                                            - type: string
                                              enum:
                                                - Infinity
                                            - type: string
                                              enum:
                                                - -Infinity
                                        - type: string
                                          enum:
                                            - Infinity
                                            - -Infinity
                                            - NaN
                                    - type: "null"
                                horodate_Index:
                                  anyOf:
                                    - type: string
                                      examples:
                                        - 2024-12-10T00:00:00
                                        - 2024-12-10T12:00:00Z
                                        - 2024-12-10T00:00:00+01:00
                                        - 2024-12-10
                                        - 2024-12-10T00:00:00[Europe/Paris]
                                        - 2024-12-10T00:00:00[CET]
                                    - type: "null"
                              required:
                                - valeur_index
                                - horodate_Index
                              additionalProperties: false
                          required:
                            - date_releve
                            - index_brut_fin
                            - index_converti_fin
                          additionalProperties: false
                      required:
                        - consommation
                        - releve_debut
                        - releve_fin
                      additionalProperties: false
                required:
                  - pce
                  - periode
                  - consommations
                additionalProperties: false
        "400":
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequest1"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/effect_HttpApiError_Unauthorized"
        "403":
          description: You don't have permission to access this resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Forbidden"
        "429":
          description: The rate limit for this resource has been exceeded.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RateLimited"
        "500":
          description: An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Unexpected"
      description: from GRDF. This is the data used for invoicing.
      summary: Invoicing data - Données Publiées
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                pce:
                  $ref: "#/components/schemas/Pce1"
              required:
                - pce
              additionalProperties: false
        required: true
  /integration/grdf-adict/confirmDroitAcces:
    get:
      tags:
        - integration/grdf-adict
      operationId: grdf-adict/confirmDroitAcces
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            default: v0
          description: API version header. Use 'v0' for this version.
        - name: droitAccesId
          in: query
          schema:
            $ref: "#/components/schemas/Prm"
          required: true
      security:
        - bearerAuth: []
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: string
                enum:
                  - OK
        "400":
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequest1"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/effect_HttpApiError_Unauthorized"
        "500":
          description: An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Unexpected"
      description: "This endpoint is to be used for Asks created with
        `switchgrid-test-env: true` header"
      summary: 🧪 Confirm droit accès - for tests only
  /integration/esr/contract:
    post:
      tags:
        - integration/esr
      operationId: esr/contract
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            default: v0
          description: API version header. Use 'v0' for this version.
      security:
        - bearerAuth: []
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  rtpl:
                    anyOf:
                      - $ref: "#/components/schemas/TestRtpl"
                      - $ref: "#/components/schemas/Prm"
                  usagePoint:
                    type: object
                    properties:
                      usagePointId:
                        anyOf:
                          - $ref: "#/components/schemas/TestRtpl"
                          - $ref: "#/components/schemas/Prm"
                      usagePointStatus:
                        $ref: "#/components/schemas/Prm"
                      meterType:
                        $ref: "#/components/schemas/Prm"
                    required:
                      - usagePointId
                      - usagePointStatus
                      - meterType
                    additionalProperties: false
                  contract:
                    type: object
                    properties:
                      segment:
                        $ref: "#/components/schemas/Prm"
                      subscribedPower:
                        $ref: "#/components/schemas/Prm"
                      lastActivationDate:
                        $ref: "#/components/schemas/Prm"
                      distributionTariff:
                        $ref: "#/components/schemas/Prm"
                      offpeakHours:
                        anyOf:
                          - $ref: "#/components/schemas/Prm"
                          - type: "null"
                      contractType:
                        $ref: "#/components/schemas/Prm"
                      contratStatus:
                        $ref: "#/components/schemas/Prm"
                      lastDistributionTariffChangeDate:
                        $ref: "#/components/schemas/Prm"
                    required:
                      - segment
                      - subscribedPower
                      - lastActivationDate
                      - distributionTariff
                      - contractType
                      - contratStatus
                      - lastDistributionTariffChangeDate
                    additionalProperties: false
                required:
                  - rtpl
                  - usagePoint
                  - contract
                additionalProperties: false
        "400":
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequest1"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/effect_HttpApiError_Unauthorized"
        "403":
          description: You don't have permission to access this resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Forbidden"
        "500":
          description: An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Unexpected"
        "503":
          description: The service is currently unavailable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  _tag:
                    type: string
                    enum:
                      - ServiceUnavailable
                  message:
                    $ref: "#/components/schemas/Prm"
                required:
                  - _tag
                  - message
                additionalProperties: false
                title: Service Unavailable
                description: The service is currently unavailable.
      description: Technical and contractual data for the delivery point
      summary: Contract data
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                rtpl:
                  anyOf:
                    - $ref: "#/components/schemas/TestRtpl"
                    - $ref: "#/components/schemas/Prm"
              required:
                - rtpl
              additionalProperties: false
        required: true
  /integration/esr/meter-readings:
    post:
      tags:
        - integration/esr
      operationId: esr/meter-readings
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            default: v0
          description: API version header. Use 'v0' for this version.
      security:
        - bearerAuth: []
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  rtpl:
                    anyOf:
                      - $ref: "#/components/schemas/TestRtpl"
                      - $ref: "#/components/schemas/Prm"
                  start:
                    $ref: "#/components/schemas/Prm"
                  end:
                    $ref: "#/components/schemas/Prm"
                  count:
                    type: integer
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        timestamp:
                          type: string
                          examples:
                            - 2024-12-10T00:00:00
                            - 2024-12-10T12:00:00Z
                            - 2024-12-10T00:00:00+01:00
                            - 2024-12-10
                            - 2024-12-10T00:00:00[Europe/Paris]
                            - 2024-12-10T00:00:00[CET]
                        timestampStorage:
                          anyOf:
                            - type: string
                              examples:
                                - 2024-12-10T00:00:00
                                - 2024-12-10T12:00:00Z
                                - 2024-12-10T00:00:00+01:00
                                - 2024-12-10
                                - 2024-12-10T00:00:00[Europe/Paris]
                                - 2024-12-10T00:00:00[CET]
                            - type: "null"
                        value:
                          anyOf:
                            - anyOf:
                                - type: number
                                - type: string
                                  enum:
                                    - NaN
                                - type: string
                                  enum:
                                    - Infinity
                                - type: string
                                  enum:
                                    - -Infinity
                            - type: string
                              enum:
                                - Infinity
                                - -Infinity
                                - NaN
                        measureType:
                          type: string
                          description: "Register code. C6/Linky: NETWORK_INDEX_0x (distributeur),
                            PROVIDER_INDEX_0x (fournisseur). C1–C4/HTA:
                            <register>.<period>, register ∈ {EA, ERP, ERN,
                            EARQ1, EARQ4}, period ∈ {HPH, HCH, HPE, HCE, P}."
                        libelle:
                          $ref: "#/components/schemas/Prm"
                      required:
                        - timestamp
                        - timestampStorage
                        - value
                        - measureType
                        - libelle
                      additionalProperties: false
                required:
                  - rtpl
                  - start
                  - end
                  - count
                  - data
                additionalProperties: false
        "400":
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequest1"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/effect_HttpApiError_Unauthorized"
        "403":
          description: You don't have permission to access this resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Forbidden"
        "500":
          description: An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Unexpected"
        "503":
          description: The service is currently unavailable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  _tag:
                    type: string
                    enum:
                      - ServiceUnavailable
                  message:
                    $ref: "#/components/schemas/Prm"
                required:
                  - _tag
                  - message
                additionalProperties: false
                title: Service Unavailable
                description: The service is currently unavailable.
      description: "Daily index readings corresponding to the parameters. The optional
        `type` filters by category: `fournisseur` returns the supplier indices
        (PROVIDER_INDEX_*), `distributeur` returns the network indices plus the
        HTA / telemetered registers (EA.* / ERP.* / ERN.* / EARQ*.*). Omit
        `type` to receive every register."
      summary: Daily data - Meter readings
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                rtpl:
                  anyOf:
                    - $ref: "#/components/schemas/TestRtpl"
                    - $ref: "#/components/schemas/Prm"
                type:
                  anyOf:
                    - type: string
                      enum:
                        - distributeur
                        - fournisseur
                      description: Optional filter. `distributeur` = network (GRD) + HTA registers,
                        `fournisseur` = supplier indices. Omit to get every
                        register.
                    - type: "null"
                since:
                  anyOf:
                    - $ref: "#/components/schemas/Prm"
                    - type: "null"
                until:
                  anyOf:
                    - $ref: "#/components/schemas/Prm"
                    - type: "null"
              required:
                - rtpl
              additionalProperties: false
        required: true
  /integration/esr/average-powers:
    post:
      tags:
        - integration/esr
      operationId: esr/average-powers
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            default: v0
          description: API version header. Use 'v0' for this version.
      security:
        - bearerAuth: []
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  rtpl:
                    anyOf:
                      - $ref: "#/components/schemas/TestRtpl"
                      - $ref: "#/components/schemas/Prm"
                  start:
                    type: string
                    examples:
                      - 2024-12-10T00:00:00
                      - 2024-12-10T12:00:00Z
                      - 2024-12-10T00:00:00+01:00
                      - 2024-12-10
                      - 2024-12-10T00:00:00[Europe/Paris]
                      - 2024-12-10T00:00:00[CET]
                  end:
                    type: string
                    examples:
                      - 2024-12-10T00:00:00
                      - 2024-12-10T12:00:00Z
                      - 2024-12-10T00:00:00+01:00
                      - 2024-12-10
                      - 2024-12-10T00:00:00[Europe/Paris]
                      - 2024-12-10T00:00:00[CET]
                  count:
                    type: integer
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        timestamp:
                          type: string
                          examples:
                            - 2024-12-10T00:00:00
                            - 2024-12-10T12:00:00Z
                            - 2024-12-10T00:00:00+01:00
                            - 2024-12-10
                            - 2024-12-10T00:00:00[Europe/Paris]
                            - 2024-12-10T00:00:00[CET]
                        timestampStorage:
                          anyOf:
                            - type: string
                              examples:
                                - 2024-12-10T00:00:00
                                - 2024-12-10T12:00:00Z
                                - 2024-12-10T00:00:00+01:00
                                - 2024-12-10
                                - 2024-12-10T00:00:00[Europe/Paris]
                                - 2024-12-10T00:00:00[CET]
                            - type: "null"
                        value:
                          anyOf:
                            - anyOf:
                                - type: number
                                - type: string
                                  enum:
                                    - NaN
                                - type: string
                                  enum:
                                    - Infinity
                                - type: string
                                  enum:
                                    - -Infinity
                            - type: string
                              enum:
                                - Infinity
                                - -Infinity
                                - NaN
                        pas:
                          type: string
                        libelle:
                          anyOf:
                            - $ref: "#/components/schemas/Prm"
                            - type: "null"
                      required:
                        - timestamp
                        - timestampStorage
                        - value
                        - pas
                        - libelle
                      additionalProperties: false
                required:
                  - rtpl
                  - start
                  - end
                  - count
                  - data
                additionalProperties: false
        "400":
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequest1"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/effect_HttpApiError_Unauthorized"
        "403":
          description: You don't have permission to access this resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Forbidden"
        "500":
          description: An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Unexpected"
        "503":
          description: The service is currently unavailable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  _tag:
                    type: string
                    enum:
                      - ServiceUnavailable
                  message:
                    $ref: "#/components/schemas/Prm"
                required:
                  - _tag
                  - message
                additionalProperties: false
                title: Service Unavailable
                description: The service is currently unavailable.
      description: Points on the loadcurve corresponding to the parameters
      summary: Loadcurve
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                rtpl:
                  anyOf:
                    - $ref: "#/components/schemas/TestRtpl"
                    - $ref: "#/components/schemas/Prm"
                since:
                  anyOf:
                    - type: string
                      examples:
                        - 2024-12-10T00:00:00
                        - 2024-12-10T12:00:00Z
                        - 2024-12-10T00:00:00+01:00
                        - 2024-12-10
                        - 2024-12-10T00:00:00[Europe/Paris]
                        - 2024-12-10T00:00:00[CET]
                    - type: "null"
                until:
                  anyOf:
                    - type: string
                      examples:
                        - 2024-12-10T00:00:00
                        - 2024-12-10T12:00:00Z
                        - 2024-12-10T00:00:00+01:00
                        - 2024-12-10
                        - 2024-12-10T00:00:00[Europe/Paris]
                        - 2024-12-10T00:00:00[CET]
                    - type: "null"
                type:
                  type: string
                  enum:
                    - soutirage
                    - injection
              required:
                - rtpl
                - type
              additionalProperties: false
        required: true
  /integration/esr/maximum-powers:
    post:
      tags:
        - integration/esr
      operationId: esr/maximum-powers
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            default: v0
          description: API version header. Use 'v0' for this version.
      security:
        - bearerAuth: []
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  rtpl:
                    anyOf:
                      - $ref: "#/components/schemas/TestRtpl"
                      - $ref: "#/components/schemas/Prm"
                  start:
                    $ref: "#/components/schemas/Prm"
                  end:
                    $ref: "#/components/schemas/Prm"
                  count:
                    type: integer
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        timestamp:
                          type: string
                          examples:
                            - 2024-12-10T00:00:00
                            - 2024-12-10T12:00:00Z
                            - 2024-12-10T00:00:00+01:00
                            - 2024-12-10
                            - 2024-12-10T00:00:00[Europe/Paris]
                            - 2024-12-10T00:00:00[CET]
                        timestampStorage:
                          anyOf:
                            - type: string
                              examples:
                                - 2024-12-10T00:00:00
                                - 2024-12-10T12:00:00Z
                                - 2024-12-10T00:00:00+01:00
                                - 2024-12-10
                                - 2024-12-10T00:00:00[Europe/Paris]
                                - 2024-12-10T00:00:00[CET]
                            - type: "null"
                        value:
                          anyOf:
                            - anyOf:
                                - type: number
                                - type: string
                                  enum:
                                    - NaN
                                - type: string
                                  enum:
                                    - Infinity
                                - type: string
                                  enum:
                                    - -Infinity
                            - type: string
                              enum:
                                - Infinity
                                - -Infinity
                                - NaN
                        pas:
                          type: "null"
                        libelle:
                          type: "null"
                      required:
                        - timestamp
                        - timestampStorage
                        - value
                        - pas
                        - libelle
                      additionalProperties: false
                required:
                  - rtpl
                  - start
                  - end
                  - count
                  - data
                additionalProperties: false
        "400":
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequest1"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/effect_HttpApiError_Unauthorized"
        "403":
          description: You don't have permission to access this resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Forbidden"
        "500":
          description: An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Unexpected"
        "503":
          description: The service is currently unavailable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  _tag:
                    type: string
                    enum:
                      - ServiceUnavailable
                  message:
                    $ref: "#/components/schemas/Prm"
                required:
                  - _tag
                  - message
                additionalProperties: false
                title: Service Unavailable
                description: The service is currently unavailable.
      description: Maximum daily power points corresponding to the parameters
      summary: Daily data - maximum powers
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                rtpl:
                  anyOf:
                    - $ref: "#/components/schemas/TestRtpl"
                    - $ref: "#/components/schemas/Prm"
                since:
                  anyOf:
                    - $ref: "#/components/schemas/Prm"
                    - type: "null"
                until:
                  anyOf:
                    - $ref: "#/components/schemas/Prm"
                    - type: "null"
              required:
                - rtpl
              additionalProperties: false
        required: true
  /invoices/pricing_extraction:
    post:
      tags:
        - invoice-pricing-extraction
      operationId: postInvoicePricingExtraction
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            default: v0
          description: API version header. Use 'v0' for this version.
      security:
        - bearerAuth: []
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: "#/components/schemas/Prm"
                  createdAt:
                    type: string
                  updatedAt:
                    type: string
                  projectId:
                    $ref: "#/components/schemas/Prm"
                  fileId:
                    $ref: "#/components/schemas/Prm"
                  status:
                    type: string
                    enum:
                      - PENDING
                      - PARSED
                      - PRICING_NOT_EXTRACTED
                      - NOT_AN_INVOICE
                  deliveryPointId:
                    anyOf:
                      - $ref: "#/components/schemas/Prm"
                      - type: "null"
                  supplier:
                    anyOf:
                      - $ref: "#/components/schemas/Prm"
                      - type: "null"
                  series:
                    anyOf:
                      - type: object
                        properties:
                          puissance_souscrite:
                            anyOf:
                              - type: object
                                properties:
                                  _tag:
                                    type: string
                                    enum:
                                      - constant
                                  puissance_souscrite_kVA:
                                    anyOf:
                                      - anyOf:
                                          - anyOf:
                                              - type: number
                                              - type: string
                                                enum:
                                                  - NaN
                                              - type: string
                                                enum:
                                                  - Infinity
                                              - type: string
                                                enum:
                                                  - -Infinity
                                          - type: string
                                            enum:
                                              - Infinity
                                              - -Infinity
                                              - NaN
                                      - type: string
                                        enum:
                                          - Indisponible
                                required:
                                  - _tag
                                  - puissance_souscrite_kVA
                                additionalProperties: false
                              - type: object
                                properties:
                                  _tag:
                                    type: string
                                    enum:
                                      - periodes
                                  periodes:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        periode:
                                          type: string
                                        puissance_souscrite_kVA:
                                          anyOf:
                                            - anyOf:
                                                - anyOf:
                                                    - type: number
                                                    - type: string
                                                      enum:
                                                        - NaN
                                                    - type: string
                                                      enum:
                                                        - Infinity
                                                    - type: string
                                                      enum:
                                                        - -Infinity
                                                - type: string
                                                  enum:
                                                    - Infinity
                                                    - -Infinity
                                                    - NaN
                                            - type: string
                                              enum:
                                                - Indisponible
                                      required:
                                        - periode
                                        - puissance_souscrite_kVA
                                      additionalProperties: false
                                required:
                                  - _tag
                                  - periodes
                                additionalProperties: false
                          abonnement:
                            type: array
                            items:
                              type: object
                              properties:
                                periode:
                                  type: string
                                prix_EUR_par_mois_HT:
                                  anyOf:
                                    - type: string
                                      allOf:
                                        - pattern: ^-?\d+(\.\d{1,8})?$
                                    - type: string
                                      enum:
                                        - Indisponible
                              required:
                                - periode
                                - prix_EUR_par_mois_HT
                              additionalProperties: false
                          consommation:
                            type: array
                            items:
                              type: object
                              properties:
                                periode:
                                  type: string
                                prix_EUR_par_kWh_HT:
                                  anyOf:
                                    - type: object
                                      properties:
                                        _tag:
                                          type: string
                                          enum:
                                            - base
                                        base:
                                          anyOf:
                                            - type: string
                                              allOf:
                                                - pattern: ^-?\d+(\.\d{1,8})?$
                                            - type: string
                                              enum:
                                                - Indisponible
                                      required:
                                        - _tag
                                        - base
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        _tag:
                                          type: string
                                          enum:
                                            - 2_cadrans
                                        HP:
                                          anyOf:
                                            - type: string
                                              allOf:
                                                - pattern: ^-?\d+(\.\d{1,8})?$
                                            - type: string
                                              enum:
                                                - Indisponible
                                        HC:
                                          anyOf:
                                            - type: string
                                              allOf:
                                                - pattern: ^-?\d+(\.\d{1,8})?$
                                            - type: string
                                              enum:
                                                - Indisponible
                                      required:
                                        - _tag
                                        - HP
                                        - HC
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        _tag:
                                          type: string
                                          enum:
                                            - 4_cadrans_saison_haute
                                        HPH:
                                          anyOf:
                                            - type: string
                                              allOf:
                                                - pattern: ^-?\d+(\.\d{1,8})?$
                                            - type: string
                                              enum:
                                                - Indisponible
                                        HCH:
                                          anyOf:
                                            - type: string
                                              allOf:
                                                - pattern: ^-?\d+(\.\d{1,8})?$
                                            - type: string
                                              enum:
                                                - Indisponible
                                      required:
                                        - _tag
                                        - HPH
                                        - HCH
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        _tag:
                                          type: string
                                          enum:
                                            - 4_cadrans_saison_basse
                                        HPB:
                                          anyOf:
                                            - type: string
                                              allOf:
                                                - pattern: ^-?\d+(\.\d{1,8})?$
                                            - type: string
                                              enum:
                                                - Indisponible
                                        HCB:
                                          anyOf:
                                            - type: string
                                              allOf:
                                                - pattern: ^-?\d+(\.\d{1,8})?$
                                            - type: string
                                              enum:
                                                - Indisponible
                                      required:
                                        - _tag
                                        - HPB
                                        - HCB
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        _tag:
                                          type: string
                                          enum:
                                            - 5_cadrans_saison_haute
                                        HPH:
                                          anyOf:
                                            - type: string
                                              allOf:
                                                - pattern: ^-?\d+(\.\d{1,8})?$
                                            - type: string
                                              enum:
                                                - Indisponible
                                        HCH:
                                          anyOf:
                                            - type: string
                                              allOf:
                                                - pattern: ^-?\d+(\.\d{1,8})?$
                                            - type: string
                                              enum:
                                                - Indisponible
                                        POINTE:
                                          anyOf:
                                            - type: string
                                              allOf:
                                                - pattern: ^-?\d+(\.\d{1,8})?$
                                            - type: string
                                              enum:
                                                - Indisponible
                                      required:
                                        - _tag
                                        - HPH
                                        - HCH
                                        - POINTE
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        _tag:
                                          type: string
                                          enum:
                                            - 5_cadrans_saison_basse
                                        HPB:
                                          anyOf:
                                            - type: string
                                              allOf:
                                                - pattern: ^-?\d+(\.\d{1,8})?$
                                            - type: string
                                              enum:
                                                - Indisponible
                                        HCB:
                                          anyOf:
                                            - type: string
                                              allOf:
                                                - pattern: ^-?\d+(\.\d{1,8})?$
                                            - type: string
                                              enum:
                                                - Indisponible
                                        POINTE:
                                          anyOf:
                                            - type: string
                                              allOf:
                                                - pattern: ^-?\d+(\.\d{1,8})?$
                                            - type: string
                                              enum:
                                                - Indisponible
                                      required:
                                        - _tag
                                        - HPB
                                        - HCB
                                        - POINTE
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        _tag:
                                          type: string
                                          enum:
                                            - tempo
                                        BLEU_HP:
                                          anyOf:
                                            - type: string
                                              allOf:
                                                - pattern: ^-?\d+(\.\d{1,8})?$
                                            - type: string
                                              enum:
                                                - Indisponible
                                        BLEU_HC:
                                          anyOf:
                                            - type: string
                                              allOf:
                                                - pattern: ^-?\d+(\.\d{1,8})?$
                                            - type: string
                                              enum:
                                                - Indisponible
                                        BLANC_HP:
                                          anyOf:
                                            - type: string
                                              allOf:
                                                - pattern: ^-?\d+(\.\d{1,8})?$
                                            - type: string
                                              enum:
                                                - Indisponible
                                        BLANC_HC:
                                          anyOf:
                                            - type: string
                                              allOf:
                                                - pattern: ^-?\d+(\.\d{1,8})?$
                                            - type: string
                                              enum:
                                                - Indisponible
                                        ROUGE_HP:
                                          anyOf:
                                            - type: string
                                              allOf:
                                                - pattern: ^-?\d+(\.\d{1,8})?$
                                            - type: string
                                              enum:
                                                - Indisponible
                                        ROUGE_HC:
                                          anyOf:
                                            - type: string
                                              allOf:
                                                - pattern: ^-?\d+(\.\d{1,8})?$
                                            - type: string
                                              enum:
                                                - Indisponible
                                      required:
                                        - _tag
                                        - BLEU_HP
                                        - BLEU_HC
                                        - BLANC_HP
                                        - BLANC_HC
                                        - ROUGE_HP
                                        - ROUGE_HC
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        _tag:
                                          type: string
                                          enum:
                                            - ejp
                                        POINTE_MOBILE:
                                          anyOf:
                                            - type: string
                                              allOf:
                                                - pattern: ^-?\d+(\.\d{1,8})?$
                                            - type: string
                                              enum:
                                                - Indisponible
                                        HEURES_NORMALES:
                                          anyOf:
                                            - type: string
                                              allOf:
                                                - pattern: ^-?\d+(\.\d{1,8})?$
                                            - type: string
                                              enum:
                                                - Indisponible
                                      required:
                                        - _tag
                                        - POINTE_MOBILE
                                        - HEURES_NORMALES
                                      additionalProperties: false
                              required:
                                - periode
                                - prix_EUR_par_kWh_HT
                              additionalProperties: false
                        required:
                          - puissance_souscrite
                          - abonnement
                          - consommation
                        additionalProperties: false
                      - type: "null"
                  periods:
                    anyOf:
                      - type: array
                        items:
                          type: object
                          properties:
                            periode:
                              type: string
                            puissance_souscrite_kVA:
                              anyOf:
                                - anyOf:
                                    - anyOf:
                                        - type: number
                                        - type: string
                                          enum:
                                            - NaN
                                        - type: string
                                          enum:
                                            - Infinity
                                        - type: string
                                          enum:
                                            - -Infinity
                                    - type: string
                                      enum:
                                        - Infinity
                                        - -Infinity
                                        - NaN
                                - type: string
                                  enum:
                                    - Indisponible
                            prix_abonnement_EUR_par_mois_HT:
                              anyOf:
                                - type: string
                                  allOf:
                                    - pattern: ^-?\d+(\.\d{1,8})?$
                                - type: string
                                  enum:
                                    - Indisponible
                            prix_consommation_EUR_par_kWh_HT:
                              anyOf:
                                - type: object
                                  properties:
                                    _tag:
                                      type: string
                                      enum:
                                        - base
                                    base:
                                      anyOf:
                                        - type: string
                                          allOf:
                                            - pattern: ^-?\d+(\.\d{1,8})?$
                                        - type: string
                                          enum:
                                            - Indisponible
                                  required:
                                    - _tag
                                    - base
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    _tag:
                                      type: string
                                      enum:
                                        - 2_cadrans
                                    HP:
                                      anyOf:
                                        - type: string
                                          allOf:
                                            - pattern: ^-?\d+(\.\d{1,8})?$
                                        - type: string
                                          enum:
                                            - Indisponible
                                    HC:
                                      anyOf:
                                        - type: string
                                          allOf:
                                            - pattern: ^-?\d+(\.\d{1,8})?$
                                        - type: string
                                          enum:
                                            - Indisponible
                                  required:
                                    - _tag
                                    - HP
                                    - HC
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    _tag:
                                      type: string
                                      enum:
                                        - 4_cadrans_saison_haute
                                    HPH:
                                      anyOf:
                                        - type: string
                                          allOf:
                                            - pattern: ^-?\d+(\.\d{1,8})?$
                                        - type: string
                                          enum:
                                            - Indisponible
                                    HCH:
                                      anyOf:
                                        - type: string
                                          allOf:
                                            - pattern: ^-?\d+(\.\d{1,8})?$
                                        - type: string
                                          enum:
                                            - Indisponible
                                  required:
                                    - _tag
                                    - HPH
                                    - HCH
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    _tag:
                                      type: string
                                      enum:
                                        - 4_cadrans_saison_basse
                                    HPB:
                                      anyOf:
                                        - type: string
                                          allOf:
                                            - pattern: ^-?\d+(\.\d{1,8})?$
                                        - type: string
                                          enum:
                                            - Indisponible
                                    HCB:
                                      anyOf:
                                        - type: string
                                          allOf:
                                            - pattern: ^-?\d+(\.\d{1,8})?$
                                        - type: string
                                          enum:
                                            - Indisponible
                                  required:
                                    - _tag
                                    - HPB
                                    - HCB
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    _tag:
                                      type: string
                                      enum:
                                        - 5_cadrans_saison_haute
                                    HPH:
                                      anyOf:
                                        - type: string
                                          allOf:
                                            - pattern: ^-?\d+(\.\d{1,8})?$
                                        - type: string
                                          enum:
                                            - Indisponible
                                    HCH:
                                      anyOf:
                                        - type: string
                                          allOf:
                                            - pattern: ^-?\d+(\.\d{1,8})?$
                                        - type: string
                                          enum:
                                            - Indisponible
                                    POINTE:
                                      anyOf:
                                        - type: string
                                          allOf:
                                            - pattern: ^-?\d+(\.\d{1,8})?$
                                        - type: string
                                          enum:
                                            - Indisponible
                                  required:
                                    - _tag
                                    - HPH
                                    - HCH
                                    - POINTE
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    _tag:
                                      type: string
                                      enum:
                                        - 5_cadrans_saison_basse
                                    HPB:
                                      anyOf:
                                        - type: string
                                          allOf:
                                            - pattern: ^-?\d+(\.\d{1,8})?$
                                        - type: string
                                          enum:
                                            - Indisponible
                                    HCB:
                                      anyOf:
                                        - type: string
                                          allOf:
                                            - pattern: ^-?\d+(\.\d{1,8})?$
                                        - type: string
                                          enum:
                                            - Indisponible
                                    POINTE:
                                      anyOf:
                                        - type: string
                                          allOf:
                                            - pattern: ^-?\d+(\.\d{1,8})?$
                                        - type: string
                                          enum:
                                            - Indisponible
                                  required:
                                    - _tag
                                    - HPB
                                    - HCB
                                    - POINTE
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    _tag:
                                      type: string
                                      enum:
                                        - tempo
                                    BLEU_HP:
                                      anyOf:
                                        - type: string
                                          allOf:
                                            - pattern: ^-?\d+(\.\d{1,8})?$
                                        - type: string
                                          enum:
                                            - Indisponible
                                    BLEU_HC:
                                      anyOf:
                                        - type: string
                                          allOf:
                                            - pattern: ^-?\d+(\.\d{1,8})?$
                                        - type: string
                                          enum:
                                            - Indisponible
                                    BLANC_HP:
                                      anyOf:
                                        - type: string
                                          allOf:
                                            - pattern: ^-?\d+(\.\d{1,8})?$
                                        - type: string
                                          enum:
                                            - Indisponible
                                    BLANC_HC:
                                      anyOf:
                                        - type: string
                                          allOf:
                                            - pattern: ^-?\d+(\.\d{1,8})?$
                                        - type: string
                                          enum:
                                            - Indisponible
                                    ROUGE_HP:
                                      anyOf:
                                        - type: string
                                          allOf:
                                            - pattern: ^-?\d+(\.\d{1,8})?$
                                        - type: string
                                          enum:
                                            - Indisponible
                                    ROUGE_HC:
                                      anyOf:
                                        - type: string
                                          allOf:
                                            - pattern: ^-?\d+(\.\d{1,8})?$
                                        - type: string
                                          enum:
                                            - Indisponible
                                  required:
                                    - _tag
                                    - BLEU_HP
                                    - BLEU_HC
                                    - BLANC_HP
                                    - BLANC_HC
                                    - ROUGE_HP
                                    - ROUGE_HC
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    _tag:
                                      type: string
                                      enum:
                                        - ejp
                                    POINTE_MOBILE:
                                      anyOf:
                                        - type: string
                                          allOf:
                                            - pattern: ^-?\d+(\.\d{1,8})?$
                                        - type: string
                                          enum:
                                            - Indisponible
                                    HEURES_NORMALES:
                                      anyOf:
                                        - type: string
                                          allOf:
                                            - pattern: ^-?\d+(\.\d{1,8})?$
                                        - type: string
                                          enum:
                                            - Indisponible
                                  required:
                                    - _tag
                                    - POINTE_MOBILE
                                    - HEURES_NORMALES
                                  additionalProperties: false
                          required:
                            - periode
                            - puissance_souscrite_kVA
                            - prix_abonnement_EUR_par_mois_HT
                            - prix_consommation_EUR_par_kWh_HT
                          additionalProperties: false
                      - type: "null"
                required:
                  - id
                  - createdAt
                  - updatedAt
                  - projectId
                  - fileId
                  - status
                  - deliveryPointId
                  - supplier
                  - series
                  - periods
                additionalProperties: false
        "400":
          description: BadRequest
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/BadRequest"
                  - $ref: "#/components/schemas/BadRequest1"
        "401":
          description: Some credentials are required to access this resource | Unauthorized
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/Unauthorized"
                  - $ref: "#/components/schemas/effect_HttpApiError_Unauthorized"
        "403":
          description: You don't have permission to access this resource
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Forbidden"
        "404":
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFound"
        "500":
          description: An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Unexpected"
      summary: Extract pricing information (abonnement & prix du kWh par cadran) from
        an invoice
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
              required:
                - file
              additionalProperties: false
        required: true
components:
  schemas:
    Prm:
      type: string
    TestRtpl:
      type: string
      allOf:
        - pattern: (ESR)\d{5}C[1-6]\d{4}$
          title: TestRtpl
          description: "a test code: the id of the integration followed by 5 numbers, then
            C1-C4, then 4 numbers"
    Pce:
      anyOf:
        - anyOf:
            - anyOf:
                - type: number
                - type: string
                  enum:
                    - NaN
                - type: string
                  enum:
                    - Infinity
                - type: string
                  enum:
                    - -Infinity
            - type: string
              enum:
                - Infinity
                - -Infinity
                - NaN
        - $ref: "#/components/schemas/Prm"
    ConsentCollectionMedium:
      anyOf:
        - type: object
          properties:
            service:
              type: string
              enum:
                - DOCUSEAL
          required:
            - service
          additionalProperties: false
          title: DOCUSEAL
          description: The Docuseal consent collection medium, prefer the web hosted one.
        - type: object
          properties:
            service:
              type: string
              enum:
                - WEB_HOSTED
          required:
            - service
          additionalProperties: false
          title: WEB_HOSTED
          description: The web hosted consent collection medium, allowing interactions
            like changing Signer name.
        - type: object
          properties:
            service:
              type: string
              enum:
                - REGISTERED_CONSENT
          required:
            - service
          additionalProperties: false
          title: REGISTERED_CONSENT
          description: "@deprecated. Consent was collected outside Switchgrid and
            registered via the registerConsent endpoint. No URL to send the user
            to — the API caller attests to having the proof."
    Url:
      type: string
      description: The URL to the document that the user needs to sign.
      examples:
        - https://docuseal.co/s/x1uPBSwot114QM
    Url1:
      type: string
      description: The URL of the page to embed, or redirect the user to.
      examples:
        - https://c/ask/f965e8f1-9bf3-4dbd-8871-96bf236e9ce3
    Unauthorized:
      type: object
      properties:
        _tag:
          type: string
          enum:
            - Unauthorized
        message:
          anyOf:
            - $ref: "#/components/schemas/Prm"
            - type: "null"
      required:
        - _tag
      additionalProperties: false
    effect_HttpApiError_Unauthorized:
      type: object
      properties:
        _tag:
          type: string
          enum:
            - Unauthorized
      required:
        - _tag
      additionalProperties: false
    Forbidden:
      type: object
      properties:
        _tag:
          type: string
          enum:
            - Forbidden
        message:
          anyOf:
            - $ref: "#/components/schemas/Prm"
            - type: "null"
      required:
        - _tag
      additionalProperties: false
    BadRequest:
      type: object
      properties:
        _tag:
          type: string
          enum:
            - BadRequest
        message:
          anyOf:
            - $ref: "#/components/schemas/Prm"
            - type: "null"
      required:
        - _tag
      additionalProperties: false
    BadRequest1:
      type: object
      properties:
        _tag:
          type: string
          enum:
            - BadRequest
        message:
          anyOf:
            - $ref: "#/components/schemas/Prm"
            - type: "null"
      required:
        - _tag
      additionalProperties: false
    Unexpected:
      type: object
      properties:
        _tag:
          type: string
          enum:
            - Unexpected
        message:
          anyOf:
            - $ref: "#/components/schemas/Prm"
            - type: "null"
      required:
        - _tag
      additionalProperties: false
    NotFound:
      type: object
      properties:
        _tag:
          type: string
          enum:
            - NotFound
        message:
          anyOf:
            - $ref: "#/components/schemas/Prm"
            - type: "null"
      required:
        - _tag
      additionalProperties: false
    EnedisNumeroDeSerie:
      type: string
      allOf:
        - pattern: ^\d{14}$
          title: EnedisNumeroDeSerie
          description: a serial number, 14 digits long
    EnedisElectricityContract:
      type: object
      properties:
        id:
          $ref: "#/components/schemas/Prm"
        prm:
          $ref: "#/components/schemas/Prm"
        categorieClientFinalCode:
          type: string
          enum:
            - RES
            - PRO
        nomClientFinalOuDenominationSociale:
          type: string
          examples:
            - DUPONT Marie
            - SARL DUPONT ET FILS
        adresseInstallationNormalisee:
          type: object
          properties:
            ligne1:
              anyOf:
                - type: string
                  title: Ligne 1 de l’adresse postale.
                  description: "Ligne 1 de l’adresse postale.

                    \  Cette ligne identifie le destinataire.

                    \  Cette donnée ne sera pas renseignée car

                    \  redondante avec la donnée « Nom ou

                    \  dénomination sociale du client »

                    \  "
                - type: "null"
            ligne2:
              anyOf:
                - type: string
                  description: "

                    \  Ligne 2 de l’adresse postale.

                    \  Cette ligne identifie généralement le

                    \  complément d’identification du destinataire ou

                    \  du point de remise (escalier, étage,

                    \  appartement, boîte aux lettres…).

                    \        "
                  examples:
                    - 03 D
                    - COLLINE DE VELAUX VI
                    - A
                - type: "null"
            ligne3:
              anyOf:
                - type: string
                  description: "

                    \  Ligne 3 de l’adresse postale.

                    \  Cette ligne identifie généralement le

                    \  complément d’identification du point

                    \  géographique (entrée, tour, immeuble,

                    \  bâtiment, résidence, zone industrielle…).

                    \        "
                  examples:
                    - QUARTIER LES CAIRADES
                    - VILLA CHANTE LA MER
                    - VILLA B LOTISSEMENT ACHBARI
                    - QUARTIER LE PEGOUY
                    - CHEMIN DE LA CHABOTT
                - type: "null"
            ligne4:
              anyOf:
                - type: string
                  description: "

                    \  Ligne 4 de l’adresse postale.

                    \  Cette ligne identifie le numéro et le libellé de la

                    \  voie.

                    \        "
                  examples:
                    - 70 ALLEE DU BOIS
                    - 11 IMPASSE DES SENTEURS
                    - 27 CHEMIN DES COUSTELLINES
                - type: "null"
            ligne5:
              anyOf:
                - type: string
                  description: "

                    \  Ligne 5 de l’adresse postale.

                    \  Cette ligne identifie généralement :

                    \  - le lieu-dit ou le service particulier de

                    \  distribution dans le cas d’un client

                    \  résidentiel,

                    \  - les mentions spéciales de distribution et

                    \  commune d’implantation de l’entreprise (si

                    \  différente du bureau distributeur CEDEX)

                    \  dans le cas d’un client professionnel.

                    \        "
                  examples:
                    - HELLEMMES LILLE
                    - BP 4
                - type: "null"
            ligne6:
              type: string
              description: "

                \  Ligne 6 de l’adresse postale.

                \  Cette ligne identifie :

                \  - le code postal et la localité de destination

                \  dans le cas d’un client résidentiel,

                \  - le code postal et bureau distributeur ou

                \  code cedex et bureau distributeur cedex

                \  dans le cas d’un client professionnel.

                \        "
              examples:
                - 84190 BEAUMES DE VENISE
            ligne7:
              anyOf:
                - type: string
                  description: "

                    \  Ligne 7 de l’adresse postale.

                    \  Cette ligne identifie le pays.

                    \  Cette donnée ne sera pas renseignée.

                    \        "
                - type: "null"
          required:
            - ligne6
          additionalProperties: false
          examples:
            - ligne4: 70 ALLEE DU BOIS
              ligne6: 84190 BEAUMES DE VENISE
      required:
        - id
        - prm
        - categorieClientFinalCode
        - nomClientFinalOuDenominationSociale
        - adresseInstallationNormalisee
      additionalProperties: false
    SearchContractResponse:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: "#/components/schemas/EnedisElectricityContract"
      required:
        - results
      additionalProperties: false
    OtherResult:
      type: object
      properties:
        prm:
          $ref: "#/components/schemas/Prm"
        nomClientFinalOuDenominationSociale:
          type: string
          examples:
            - DUPONT Marie
            - SARL DUPONT ET FILS
        adresseInstallationNormalisee:
          type: object
          properties:
            ligne1:
              anyOf:
                - type: string
                  title: Ligne 1 de l’adresse postale.
                  description: "Ligne 1 de l’adresse postale.

                    \  Cette ligne identifie le destinataire.

                    \  Cette donnée ne sera pas renseignée car

                    \  redondante avec la donnée « Nom ou

                    \  dénomination sociale du client »

                    \  "
                - type: "null"
            ligne2:
              anyOf:
                - type: string
                  description: "

                    \  Ligne 2 de l’adresse postale.

                    \  Cette ligne identifie généralement le

                    \  complément d’identification du destinataire ou

                    \  du point de remise (escalier, étage,

                    \  appartement, boîte aux lettres…).

                    \        "
                  examples:
                    - 03 D
                    - COLLINE DE VELAUX VI
                    - A
                - type: "null"
            ligne3:
              anyOf:
                - type: string
                  description: "

                    \  Ligne 3 de l’adresse postale.

                    \  Cette ligne identifie généralement le

                    \  complément d’identification du point

                    \  géographique (entrée, tour, immeuble,

                    \  bâtiment, résidence, zone industrielle…).

                    \        "
                  examples:
                    - QUARTIER LES CAIRADES
                    - VILLA CHANTE LA MER
                    - VILLA B LOTISSEMENT ACHBARI
                    - QUARTIER LE PEGOUY
                    - CHEMIN DE LA CHABOTT
                - type: "null"
            ligne4:
              anyOf:
                - type: string
                  description: "

                    \  Ligne 4 de l’adresse postale.

                    \  Cette ligne identifie le numéro et le libellé de la

                    \  voie.

                    \        "
                  examples:
                    - 70 ALLEE DU BOIS
                    - 11 IMPASSE DES SENTEURS
                    - 27 CHEMIN DES COUSTELLINES
                - type: "null"
            ligne5:
              anyOf:
                - type: string
                  description: "

                    \  Ligne 5 de l’adresse postale.

                    \  Cette ligne identifie généralement :

                    \  - le lieu-dit ou le service particulier de

                    \  distribution dans le cas d’un client

                    \  résidentiel,

                    \  - les mentions spéciales de distribution et

                    \  commune d’implantation de l’entreprise (si

                    \  différente du bureau distributeur CEDEX)

                    \  dans le cas d’un client professionnel.

                    \        "
                  examples:
                    - HELLEMMES LILLE
                    - BP 4
                - type: "null"
            ligne6:
              type: string
              description: "

                \  Ligne 6 de l’adresse postale.

                \  Cette ligne identifie :

                \  - le code postal et la localité de destination

                \  dans le cas d’un client résidentiel,

                \  - le code postal et bureau distributeur ou

                \  code cedex et bureau distributeur cedex

                \  dans le cas d’un client professionnel.

                \        "
              examples:
                - 84190 BEAUMES DE VENISE
            ligne7:
              anyOf:
                - type: string
                  description: "

                    \  Ligne 7 de l’adresse postale.

                    \  Cette ligne identifie le pays.

                    \  Cette donnée ne sera pas renseignée.

                    \        "
                - type: "null"
          required:
            - ligne6
          additionalProperties: false
          examples:
            - ligne4: 70 ALLEE DU BOIS
              ligne6: 84190 BEAUMES DE VENISE
      required:
        - prm
        - nomClientFinalOuDenominationSociale
        - adresseInstallationNormalisee
      additionalProperties: false
    SearchContractsFromInvoicesResponse:
      type: object
      properties:
        resultsByFile:
          type: array
          items:
            type: object
            properties:
              fileName:
                type: string
                examples:
                  - invoice-edf.pdf
                  - invoice-engie.jpg
                  - invoice-totalenergies.png
              contracts:
                type: array
                items:
                  $ref: "#/components/schemas/EnedisElectricityContract"
              others:
                type: array
                items:
                  $ref: "#/components/schemas/OtherResult"
            required:
              - fileName
              - contracts
              - others
            additionalProperties: false
      required:
        - resultsByFile
      additionalProperties: false
    Pce1:
      type: string
      allOf:
        - pattern: ^([0-9]{14}|GI[0-9]{6})$
          title: Pce
          description: a Pce number, 14 digits long, or 'GI' followed by 6 digits
    RateLimited:
      type: object
      properties:
        _tag:
          type: string
          enum:
            - RateLimited
        message:
          anyOf:
            - $ref: "#/components/schemas/Prm"
            - type: "null"
      required:
        - _tag
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
security: []
tags:
  - name: asks
    description: Operations related to asks
  - name: integration/enedis
    description: Operations related to the Enedis integration (contract search,
      orders and request data).
  - name: data-third-party
    description: Manage the third parties that data can be shared with — they can
      appear as the recipient in an Ask consent form.
  - name: integration/grdf-adict
    description: Operations related to GRDF Adict integration
  - name: integration/esr
    description: Operations related to Strasbourg Électricité Réseaux integration
  - name: invoice-pricing-extraction
    description: Extraction of pricing information from invoices
servers:
  - url: https://api.switchgrid.tech
