> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apinn.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Matchs réglés depuis un curseur

> Parcours **incrémental** des matchs réglés : chaque réponse porte un curseur `last` à repasser en `since` au prochain appel.

C'est le seul moyen de **découvrir** un règlement. Un match réglé a quitté le book — c'est sa disparition qui déclenche le règlement — il n'apparaît donc plus dans `/api/fixtures`, même avec `live=2`. Sans ce parcours, il faudrait avoir mémorisé l'`event_id` avant la fin du match.

Sans `since`, renvoie les règlements des **dernières 24 heures**.

La comparaison sur `since` est **inclusive** : le dernier événement d'une page peut réapparaître en tête de la suivante, car plusieurs matchs peuvent partager la seconde de règlement et perdre un règlement serait pire que le renvoyer deux fois. Dédoublonnez sur `event_id`.

Chaque événement porte son score final et le détail `settlement` (win / loss / push par ligne) — les mêmes données que `/api/settlement`, mais pour un lot de matchs. **Marchés principaux uniquement** : moneyline, spread, totals et totaux par équipe. Les specials ne sont pas réglés.



## OpenAPI

````yaml /api-reference/openapi.json get /api/settled
openapi: 3.1.0
info:
  title: apinn — API Pinnacle temps réel
  version: 1.0.0
  description: >-
    Cotes Pinnacle en temps réel : prématch et live, ouverture et clôture
    TrueLine multi-modèles, specials et outrights.
servers:
  - url: https://api.apinn.io
security:
  - ApiKeyAuth: []
paths:
  /api/settled:
    get:
      summary: Matchs réglés depuis un curseur
      description: >-
        Parcours **incrémental** des matchs réglés : chaque réponse porte un
        curseur `last` à repasser en `since` au prochain appel.


        C'est le seul moyen de **découvrir** un règlement. Un match réglé a
        quitté le book — c'est sa disparition qui déclenche le règlement — il
        n'apparaît donc plus dans `/api/fixtures`, même avec `live=2`. Sans ce
        parcours, il faudrait avoir mémorisé l'`event_id` avant la fin du match.


        Sans `since`, renvoie les règlements des **dernières 24 heures**.


        La comparaison sur `since` est **inclusive** : le dernier événement
        d'une page peut réapparaître en tête de la suivante, car plusieurs
        matchs peuvent partager la seconde de règlement et perdre un règlement
        serait pire que le renvoyer deux fois. Dédoublonnez sur `event_id`.


        Chaque événement porte son score final et le détail `settlement` (win /
        loss / push par ligne) — les mêmes données que `/api/settlement`, mais
        pour un lot de matchs. **Marchés principaux uniquement** : moneyline,
        spread, totals et totaux par équipe. Les specials ne sont pas réglés.
      parameters:
        - name: since
          in: query
          required: false
          description: >-
            Curseur `last` de la réponse précédente (entier), ou un horodatage
            ISO (`2026-08-02T01:00:00`). Absent → dernières 24 h.
          schema:
            type: string
        - name: sport_id
          in: query
          required: false
          description: Restreindre à un sport.
          schema:
            type: integer
        - name: league_id
          in: query
          required: false
          description: Restreindre à une ligue.
          schema:
            type: integer
        - name: limit
          in: query
          required: false
          description: Nombre maximum de matchs (1 à 1000, défaut 200).
          schema:
            type: integer
            default: 200
      responses:
        '200':
          description: Matchs réglés
          content:
            application/json:
              schema:
                type: object
                properties:
                  last:
                    type: integer
                    description: Curseur à repasser en `since` au prochain appel.
                  since:
                    type: integer
                    description: Curseur effectivement appliqué.
                  count:
                    type: integer
                  events:
                    type: array
                    items:
                      $ref: '#/components/schemas/SettledEvent'
              example:
                last: 1785636831
                since: 1785590421
                count: 1
                events:
                  - event_id: 1632677189
                    sport_id: 29
                    league_id: 2663
                    league_name: USA - Major League Soccer
                    runner_home: New York Red Bulls
                    runner_away: Orlando City
                    starts: '2026-08-01T23:30:00'
                    score_home: 3
                    score_away: 2
                    status: ended
                    settled_at: '2026-08-02T02:13:51'
                    settlement:
                      - line_id: 935250751
                        period: 0
                        market: moneyline
                        line: null
                        outcome_home: win
                        outcome_draw: loss
                        outcome_away: loss
        '422':
          description: '`since` mal formé.'
components:
  schemas:
    SettledEvent:
      type: object
      properties:
        event_id:
          type: integer
        sport_id:
          type:
            - integer
            - 'null'
        league_id:
          type:
            - integer
            - 'null'
        league_name:
          type:
            - string
            - 'null'
        runner_home:
          type:
            - string
            - 'null'
        runner_away:
          type:
            - string
            - 'null'
        starts:
          type:
            - string
            - 'null'
        score_home:
          type:
            - integer
            - 'null'
        score_away:
          type:
            - integer
            - 'null'
        status:
          type:
            - string
            - 'null'
          description: '`ended` pour un match réglé.'
        settled_at:
          type:
            - string
            - 'null'
        settlement:
          type: array
          items:
            $ref: '#/components/schemas/Settlement'
    Settlement:
      type: object
      properties:
        line_id:
          type: integer
        event_id:
          type: integer
        period:
          type: integer
        market:
          type: string
        line:
          type:
            - number
            - 'null'
        outcome_home:
          type:
            - string
            - 'null'
          enum:
            - win
            - loss
            - push
            - half_win
            - half_loss
            - null
          description: >-
            Verdict de ce côté. `half_win` / `half_loss` n’apparaissent que sur
            les QUARTS de ligne (`.25`, `.75`), qui sont deux paris d’un
            demi-enjeu posés à `line ± 0.25` : une moitié gagne ou perd, l’autre
            est remboursée.
        outcome_draw:
          type:
            - string
            - 'null'
          enum:
            - win
            - loss
            - push
            - half_win
            - half_loss
            - null
          description: >-
            Verdict de ce côté. `half_win` / `half_loss` n’apparaissent que sur
            les QUARTS de ligne (`.25`, `.75`), qui sont deux paris d’un
            demi-enjeu posés à `line ± 0.25` : une moitié gagne ou perd, l’autre
            est remboursée.
        outcome_away:
          type:
            - string
            - 'null'
          enum:
            - win
            - loss
            - push
            - half_win
            - half_loss
            - null
          description: >-
            Verdict de ce côté. `half_win` / `half_loss` n’apparaissent que sur
            les QUARTS de ligne (`.25`, `.75`), qui sont deux paris d’un
            demi-enjeu posés à `line ± 0.25` : une moitié gagne ou perd, l’autre
            est remboursée.
        score_home:
          type:
            - integer
            - 'null'
        score_away:
          type:
            - integer
            - 'null'
        settled_at:
          type:
            - string
            - 'null'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key

````