Solicitar acceso

Crea una cuenta con su usuario administrador

POST/api/v1/auth/register

Registro autoservicio desde el panel web (fuera del panel responde 403 error.auth.register_web_only con la URL del panel en details). La respuesta trae next_steps. kind: independent (factura lo suyo) o software_house (administra clientes en /account/children). Con software_house la cuenta nace independiente con la solicitud pendiente: exige website; después se sube el RUT en POST /account/software-house y factuROA la aprueba. Envía al correo un código de 6 dígitos para confirmarlo; sin confirmar no se puede iniciar sesión. Un número de documento con cuenta activa no se puede registrar otra vez (cédula y NIT comparten el número: el NIT de una persona natural es su cédula). Documento o DV inválido: 400 error.account.invalid_document.

Cuerpo de la petición application/json

  • document_typestringobligatorio

    13 cédula (persona natural) o 31 NIT

    Valores: 13 · 31

  • nitstringobligatorio

    Número del documento, solo dígitos y sin DV. Es la llave para vincular la cuenta con una casa de software

    Ejemplo: 900373115

  • dvstring

    Opcional: si no se envía se calcula; si se envía debe coincidir con el del RUT

    Ejemplo: 3

  • namestringobligatorio

    Ejemplo: Casa POS SAS

  • kindstring· por defecto independent

    Valores: independent · software_house

  • websitestring

    Obligatorio con software_house: página web de la casa

    Ejemplo: https://casapos.co

  • emailstring · emailobligatorio

    Ejemplo: admin@casapos.co

  • passwordstring· mín. 10 caracteresobligatorio

    Ejemplo: una-clave-larga

Respuestas

201Cuenta y usuario creados; falta confirmar el correo
  • accountobject
    + Ver 10 campos− Ocultar 10 campos
    • idstring · uuid
    • parent_account_idstring · uuid

      Casa de software dueña; igual a id si no tiene padre

    • kindstring

      Valores: independent · software_house

    • emailstring
    • document_typestring

      13 cédula o 31 NIT

      Valores: 13 · 31

    • nitstring
    • dvstring
    • namestring
    • environmentstring

      Valores: staging · habilitacion · production

    • created_atstring · date-time
  • userobject
    + Ver 5 campos− Ocultar 5 campos
    • idstring · uuid
    • emailstring · email
    • namestring
    • email_verifiedboolean
    • created_atstring · date-time
  • next_stepsobject
    + Ver 6 campos− Ocultar 6 campos
    • docs_urlstring

      Ejemplo: https://facturoa.com.co/docs

    • panel_urlstring

      Ejemplo: https://app.facturoa.com.co

    • test_api_urlstring
    • live_api_urlstring
    • support_emailstring
    • stepsarray<string>
400Datos inválidos (details trae los campos)
  • codestring

    Ejemplo: error.document.invalid

  • messagestring
  • errorsarray<object>

    Solo en 400: cada campo inválido con su explicación (en español, o en inglés con Accept-Language: en)

    + Ver 2 campos− Ocultar 2 campos
    • fieldstring

      Ruta del campo en el JSON enviado

      Ejemplo: lines[0].quantity

    • messagestring

      Ejemplo: Cantidad inválida: debe ser mayor que cero.

  • detailsarray<string>

    Rutas de los campos inválidos (compatibilidad; usa errors)

  • request_idstring
409Conflicto con el estado actual (p. ej. documento referenciado no aceptado, rango agotado)
  • codestring

    Ejemplo: error.document.invalid

  • messagestring
  • errorsarray<object>

    Solo en 400: cada campo inválido con su explicación (en español, o en inglés con Accept-Language: en)

    + Ver 2 campos− Ocultar 2 campos
    • fieldstring

      Ruta del campo en el JSON enviado

      Ejemplo: lines[0].quantity

    • messagestring

      Ejemplo: Cantidad inválida: debe ser mayor que cero.

  • detailsarray<string>

    Rutas de los campos inválidos (compatibilidad; usa errors)

  • request_idstring
403La cuenta no puede hacer esto (p. ej. no es casa de software: error.account.not_software_house, o la cuenta de Facturoa-Account no es hija: error.account.not_child)
  • codestring

    Ejemplo: error.document.invalid

  • messagestring
  • errorsarray<object>

    Solo en 400: cada campo inválido con su explicación (en español, o en inglés con Accept-Language: en)

    + Ver 2 campos− Ocultar 2 campos
    • fieldstring

      Ruta del campo en el JSON enviado

      Ejemplo: lines[0].quantity

    • messagestring

      Ejemplo: Cantidad inválida: debe ser mayor que cero.

  • detailsarray<string>

    Rutas de los campos inválidos (compatibilidad; usa errors)

  • request_idstring