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

# Update a signer

> Endpoint to update a signer.



## OpenAPI

````yaml /public/spi-v3.yaml put /v1/signer/{signerAddress}
openapi: 3.0.0
info:
  title: SPI documentation
  version: 2.0.0
  description: API documentation for TransfiYa SPI flow
servers: []
security: []
tags:
  - name: Signer
    description: Operations related to Signers (keys)
paths:
  /v1/signer/{signerAddress}:
    put:
      tags:
        - Signer
      summary: Update a signer
      description: Endpoint to update a signer.
      operationId: updateSigner
      parameters:
        - in: path
          name: signerAddress
          schema:
            type: string
          required: true
          example: wYe6h63CNqoLxJet5jP1WWLhGi8D11ZGij
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSignerRequest'
            examples:
              example1:
                summary: Change status of a signer
                value:
                  labels:
                    status: INACTIVE
      responses:
        '200':
          description: Signer updated successfully
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/SignerResponse'
                  - type: object
                    properties:
                      error:
                        type: object
                        properties:
                          code:
                            type: integer
                            example: 0
                          message:
                            type: string
                            example: Success
              examples:
                example1:
                  summary: Response
                  value:
                    signer_id: 0195b009-a139-7ff2-adac-15e3c3ecfc88
                    id: 0195b009-a139-7ff2-adac-15e3c3ecfc88
                    handle: wYe6h63CNqoLxJet5jP1WWLhGi8D11ZGij
                    keeper:
                      - public: >-
                          7ef44ee7ff1f4527ef44ee7ff1f4527ef44ee7ff1f4527ef44ee7ff1f4527ef4
                        scheme: ecdsa-ed25519
                        secret: >-
                          046d541aec939b4748943e49cc1117a70966a6fc87345e6052a54f1e69ea48d5
                    labels:
                      type: PERSON
                      status: INACTIVE
                      created: '2025-03-19T15:12:55.993-05:00'
                      updated: '2025-03-20T15:12:55.993-05:00'
                      createdBy: mSJkneiASd
                      aliasType: ALPHANUM
                      aliasValue: '@jorge'
                      proprietary: CC
                      identification: '1010101010'
                      firstName: Jorge
                      lastName: Diaz
                      bankId: '900123456'
                      bankAccountType: SVGS
                      bankAccountNumber: '4123456789'
                      routerReference: $bancorojo
                      targetSpbviCode: TFY
                      consented: '2025-03-13T20:38:07-05:00'
                      received: '2025-03-13T20:38:07.123-05:00'
                      dispatched: '2025-03-13T20:38:10.123-05:00'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
components:
  schemas:
    UpdateSignerRequest:
      type: object
      properties:
        labels:
          type: object
          properties:
            type:
              type: string
              enum:
                - PERSON
                - BUSINESS
              description: Type of a signer
            aliasType:
              type: string
              description: Alias type of the signer
              enum:
                - ALPHANUM
                - EMAIL
                - MERCHANT
                - PHONE
                - NRIC
            aliasValue:
              type: string
              description: >
                Value of the alias. The format of the alias depends on the
                aliasType:

                - "ALPHANUM": Starts with @. Max 20 and min 5 alphanumeric
                characters after the @.

                - "EMAIL": Max 92 characters, must contain only one @. Max 30
                characters before the @ and 61 after.

                - "MERCHANT": Starts with 00 and contains 10 characrters in
                total.

                - "PHONE": Starts with 3 and contains 9 numbers after.

                - "NRIC": Max 18 and min 3 alphanumeric characters.
              maxLength: 92
              minLength: 3
            proprietary:
              type: string
              description: |
                'Proprietary label of the signer'
                - "CC": Cédula de Ciudadanía 
                - "CE": Cédula de Extranjería
                - "PA": Pasaporte
                - "TI": Tarjeta de Identidad
                - "NUIP": Número Único de Identificación Personal
                - "NIT": Número de Identificación Tributaria
              enum:
                - CC
                - CE
                - PA
                - TI
                - NUIP
                - NIT
            description:
              type: string
              description: Description of the signer
              maxLength: 255
            identification:
              type: string
              description: Identification of the signer. Alphanumeric characters.
              maxLength: 18
            name:
              type: string
              description: Legal entity name. Only for BUSINESS type.
              maxLength: 140
            firstName:
              type: string
              description: First name of the signer. Only for PERSON type.
              maxLength: 140
            secondName:
              type: string
              description: Optional second name of the signer. Only for PERSON type.
              maxLength: 140
            lastName:
              type: string
              description: Last name of the signer. Only for PERSON type.
              maxLength: 140
            secondLastName:
              type: string
              description: Optional second last name of the signer. Only for PERSON type.
              maxLength: 140
            countryOfResidence:
              type: string
              description: ISO code of the country of residence of the signer.
              maxLength: 2
            bankAccountType:
              type: string
              description: |
                Type of bank account.
                - "SVGS": Savings
                - "CACC": Checking
                - "DBMO": Low-amount deposits
                - "DORD": Ordinary deposits
                - "DBMI": Inclusive low-amount deposits
              enum:
                - SVGS
                - CACC
                - DBMO
                - DORD
                - DBMI
            bankAccountNumber:
              type: string
              description: Bank account number of the signer. Only digits
              maxLength: 34
            bankBicfi:
              type: string
              description: Bank BICFI code of the bank. Only digits
              maxLength: 4
            bankName:
              type: string
              description: Name of the bank
              maxLength: 64
            bankId:
              type: string
              description: Bank NIT
              maxLength: 9
            routerReference:
              type: string
              description: Bank wallet identifier.
              maxLength: 34
            targetSpbviCode:
              type: string
              description: |
                Type of SPBVI code
                - 'TFY': TransfiYa
                - 'ENT': Entre cuentas
                - 'CRB': Credibanco
                - 'VIS': Visionamos
                - 'SRV': Servibanca
              enum:
                - TFY
                - ENT
                - CRB
                - VIS
                - SRV
    SignerResponse:
      type: object
      properties:
        id:
          type: string
        signer_id:
          type: string
        handle:
          type: string
        keeper:
          type: array
          items:
            type: object
            properties:
              private:
                type: string
              public:
                type: string
              scheme:
                type: string
        labels:
          type: object
          properties:
            type:
              type: string
            aliasType:
              type: string
            aliasValue:
              type: string
            status:
              type: string
            proprietary:
              type: string
            description:
              type: string
            identification:
              type: string
            name:
              type: string
            firstName:
              type: string
            secondName:
              type: string
            lastName:
              type: string
            secondLastName:
              type: string
            countryOfResidence:
              type: string
            bankAccountType:
              type: string
            bankAccountNumber:
              type: string
            bankBicfi:
              type: string
            bankName:
              type: string
            bankId:
              type: string
            createdBy:
              type: string
            routerReference:
              type: string
            targetSpbviCode:
              type: string
            consented:
              type: string
            received:
              type: string
            dispatched:
              type: string
            created:
              type: string
            updated:
              type: string
    ErrorResponse:
      properties:
        error:
          $ref: '#/components/schemas/GenericError'
    GenericError:
      type: object
      properties:
        code:
          type: integer
        message:
          type: string
        requestId:
          type: string

````