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

# Retrieve a number series

> Returns a single number series by id, in the same shape as each row of the list endpoint. The series must belong to the environment the API key belongs to, otherwise the response is a 404.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/number_series/{id}
openapi: 3.1.0
info:
  title: Finseed API
  version: 1.0.0
  description: >-
    REST API for programmatic Verifactu invoicing. Every request is sent over
    HTTPS and authenticated with an API key passed as a bearer token. Each key
    is scoped to a single environment (test or live). Payloads are JSON with
    snake_case fields: amounts are integer minor units (cents) and timestamps
    are RFC 3339 in UTC. List endpoints are cursor-paginated. Errors return a
    small application/json envelope with a stable, machine-readable `code`.
servers:
  - url: https://api.finseed.es
security:
  - bearerAuth: []
paths:
  /v1/number_series/{id}:
    get:
      tags:
        - Number Series
      summary: Retrieve a number series
      description: >-
        Returns a single number series by id, in the same shape as each row of
        the list endpoint. The series must belong to the environment the API key
        belongs to, otherwise the response is a 404.
      operationId: getNumberSeries
      parameters:
        - name: id
          in: path
          required: true
          description: Opaque number series identifier — the `id` from a list row.
          schema:
            type: string
      responses:
        '200':
          description: The requested number series.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NumberSeries'
        '401':
          description: >-
            Authentication failed: the API key is missing, malformed, or
            revoked. Send a valid key as a bearer token in the `Authorization`
            header. Each key is bound to a single environment (test or live).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              example:
                code: unauthorized
                detail: >-
                  Authentication failed. Send your API key as a bearer token in
                  the `Authorization` header. Keys are scoped to one
                  environment, so a test key cannot read live data and vice
                  versa.
                errors: []
                doc_url: https://www.finseed.es/docs/api-reference/errors#unauthorized
        '404':
          description: >-
            No number series matches the supplied identifier in the environment
            the API key belongs to. A number series created with a live key is
            not visible to a test key, and vice versa.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              example:
                code: number_series_not_found
                detail: >-
                  No number series matches that identifier in this environment.
                  Note that test and live keys see different number series.
                errors: []
                doc_url: >-
                  https://www.finseed.es/docs/api-reference/errors#number_series_not_found
        '500':
          description: >-
            An unexpected error occurred on our side. No partial work is
            persisted, so the request can be retried safely.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              example:
                code: internal_error
                detail: >-
                  Something went wrong on our side. The request did not complete
                  and can be retried safely.
                errors: []
                doc_url: >-
                  https://www.finseed.es/docs/api-reference/errors#internal_error
components:
  schemas:
    NumberSeries:
      type: object
      properties:
        id:
          type: string
          description: Opaque, prefixed number series identifier.
          example: ns_clx123abc456
        prefix:
          type: string
          description: >-
            Prefix stamped on every invoice number of this series, stored
            normalized: whitespace removed and letters uppercased.
          example: F
        type:
          type: string
          description: >-
            What the series numbers: regular invoices (`standard`) or rectifying
            invoices (`rectifying`). This is an extensible enum: new values may
            be added in the future, so clients must tolerate values not listed
            here. Known values: standard, rectifying.
          example: standard
        first_value:
          type: integer
          description: The number assigned to the first invoice on this series.
          example: 1
        next_value:
          type: integer
          description: The number the next invoice on this series will take.
          example: 42
        number_digits:
          type: integer
          description: >-
            Zero-padding width of the numeric part of the invoice number. 0
            means no padding.
          example: 5
        is_default:
          type: boolean
          description: >-
            Whether this is the default series of the environment. Read-only:
            only the series seeded with the environment can be the default.
          example: false
        created_at:
          type: string
          description: Creation timestamp, RFC 3339 in UTC.
          example: '2026-06-01T09:30:00Z'
      required:
        - id
        - prefix
        - type
        - first_value
        - next_value
        - number_digits
        - is_default
        - created_at
      additionalProperties: false
      description: >-
        An invoice numbering series as exposed by the public API. Invoice
        numbers are always assigned by the server: prefix plus a gapless,
        zero-padded counter. A series is immutable once created.
      example:
        id: ns_clx123abc456
        prefix: F
        type: standard
        first_value: 1
        next_value: 42
        number_digits: 5
        is_default: false
        created_at: '2026-06-01T09:30:00Z'
    ErrorEnvelope:
      type: object
      properties:
        code:
          type: string
          description: >-
            Stable, machine-readable error code. The branch key. This is an
            extensible enum: new values may be added in the future, so clients
            must tolerate values not listed here. Known values: invalid_request,
            unauthorized, invoice_not_found, download_link_expired,
            number_series_not_found, number_series_prefix_taken,
            number_series_in_use, customer_not_found, customer_ambiguous,
            idempotency_conflict, rate_limited, invalid_number_series,
            invalid_tax_rate, invalid_tax_data, invalid_tax_id,
            tax_id_type_country_mismatch, insufficient_recipient_data,
            simplified_amount_exceeded, simplified_incompatible_tax_type,
            invalid_recargo_equivalencia, aeat_mandate_not_approved,
            no_active_subscription, tax_id_validation_unavailable,
            invalid_rectifies_reference, rectified_invoice_not_found,
            invoice_already_voided, invoice_already_replaced,
            invoice_not_family_tip, invoice_pending_at_aeat,
            invoice_not_rectifiable_at_aeat, family_balance_below_zero,
            replacement_total_negative, reason_incompatible_with_recipient,
            recipient_overrides_not_allowed_for_differences,
            rectifying_series_invalid, external_reference_invalid,
            external_reference_matches_existing_invoice,
            rectified_amounts_required_for_substitution,
            line_item_without_tax_items, internal_error.
          example: invalid_request
        detail:
          type: string
          description: Human-readable, context-specific explanation.
          example: The query parameters are not valid.
        errors:
          type: array
          items:
            type: object
            properties:
              field:
                type: string
                description: Location of the offending value (JSON path).
                example: limit
              code:
                type: string
                description: Machine-readable validation issue code.
                example: too_big
              message:
                type: string
                description: Human-readable explanation of the field-level issue.
                example: Number must be less than or equal to 100
            required:
              - field
              - code
              - message
            additionalProperties: false
          description: >-
            Field-level issues. Always present; empty unless this is a
            validation failure.
        doc_url:
          type: string
          description: Link to the reference documentation for this error code.
          example: https://www.finseed.es/docs/api-reference/errors#invalid_request
      required:
        - code
        - detail
        - errors
        - doc_url
      additionalProperties: false
      description: >-
        Uniform error body returned for every non-2xx response
        (application/json).
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key sent as a bearer token in the `Authorization` header.

````