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

# 5.- Cancelar envío

> Este endpoint permite **cancelar un envío dentro de México**, siempre y cuando el envío **pertenezca al mismo usuario que realiza la solicitud** y **no haya sido utilizado**, es decir, que el paquete **no haya sido recolectado ni entregado en sucursal**, y que el envío no se encuentre previamente cancelado.

Al cancelar el envío de forma exitosa, el **costo del envío es bonificado automáticamente al saldo de la cuenta del usuario**. La respuesta devuelve la información actualizada del envío con su nuevo estado y un identificador único de la transacción para fines de trazabilidad.



## OpenAPI

````yaml /openapi.json post /v1/cancel-shipment
openapi: 3.0.0
info:
  title: SHEEPING.IO - MODULO API
  version: 1.0.0
  description: >-
    Nuestro **Módulo API** está basado en el protocolo **REST**.


    Todas las respuestas de las peticiones se entregan en formato **JSON**


    (y, en casos específicos, **HTML**).


    A través de los distintos **endpoints**, podrás consultar y gestionar
    información relacionada con **envíos**, usuarios y procesos asociados a la
    plataforma.


    Este módulo cuenta con **dos entornos disponibles**:


    - **Sandbox (Pruebas)**
        
    - **Producción**
        

    Para acceder a cada entorno es necesario contar con el **token de
    autenticación correspondiente**.


    ### Colección Postman


    El **Módulo Usuarios** proporciona una **colección en formato JSON
    compatible con Postman**, la cual incluye:


    - Ejemplos de solicitudes
        
    - Ejemplos de respuestas
        
    - Headers preconfigurados
        

    Se recomienda abrir este archivo directamente en **Postman** para facilitar
    la visualización, ejecución de pruebas y validación de cada endpoint de
    forma rápida y estructurada.


    ---


    ## URL Base y Versionado


    Todos los endpoints de la API están disponibles bajo la siguiente **URL
    base**:


    ```

    https://apirest.sheeping.io/v1

     ```

    ### Versionado


    El **Módulo API** utiliza **versionado por URL**.


    En caso de futuras versiones (`/v2`, `/v3`, etc.), estas serán liberadas sin
    afectar las integraciones existentes.


    > Nota: Cualquier cambio relevante será notificado oportunamente para evitar
    interrupciones en los servicios ya integrados. 
      

    ---


    ## Autenticación


    El **Módulo API** autenticación mediante **Bearer Token**.


    Cada solicitud HTTP debe incluir el token en el encabezado (`Header`) de la
    petición.


    ### Headers requeridos


    ```

    Authorization: Bearer <TOKEN>

    Content-Type: application/json

     ```

    - El token identifica el ambiente y los permisos del cliente.
        
    - Sin un token válido, la API responderá con un **error de autenticación
    (401 Unauthorized)**.
        

    ---


    ## Ambientes disponibles


    El **Módulo Usuarios** proporciona **dos tokens de acceso**, uno por cada
    ambiente disponible.


    ### Sandbox (Pruebas)


    - Diseñado para **desarrollo y pruebas**
        
    - No genera envíos reales
        
    - No afecta datos de producción
        
    - Simula el comportamiento del entorno productivo
        

    ### Producción


    - Ambiente real y operativo
        
    - Genera **envíos y guías válidas**
        
    - Debe utilizarse **únicamente** después de validar la integración en
    Sandbox
        

    **Importante:**


    Es responsabilidad del usuario alternar correctamente entre los tokens de
    **Sandbox** y **Producción**, según el entorno en el que se encuentre
    trabajando.


    ---
servers:
  - url: https://apirest.sheeping.io
security: []
paths:
  /v1/cancel-shipment:
    post:
      summary: 5.- Cancelar envío
      description: >-
        Este endpoint permite **cancelar un envío dentro de México**, siempre y
        cuando el envío **pertenezca al mismo usuario que realiza la solicitud**
        y **no haya sido utilizado**, es decir, que el paquete **no haya sido
        recolectado ni entregado en sucursal**, y que el envío no se encuentre
        previamente cancelado.


        Al cancelar el envío de forma exitosa, el **costo del envío es
        bonificado automáticamente al saldo de la cuenta del usuario**. La
        respuesta devuelve la información actualizada del envío con su nuevo
        estado y un identificador único de la transacción para fines de
        trazabilidad.
      parameters:
        - name: Authorization
          in: header
          schema:
            type: string
          example: Bearer <TOKEN>
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                shipment_tracking_number:
                  type: string
                  format: utc-millisec
            example:
              shipment_tracking_number: '883163967169'
      responses:
        '200':
          description: 200 OK
          headers:
            Date:
              schema:
                type: string
              example: Fri, 09 Jan 2026 01:27:19 GMT
            Transfer-Encoding:
              schema:
                type: string
              example: chunked
            Connection:
              schema:
                type: string
              example: keep-alive
            Server:
              schema:
                type: string
              example: cloudflare
            Nel:
              schema:
                type: string
              example: '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}'
            Vary:
              schema:
                type: string
              example: Accept, Accept-Language, Origin
            Allow:
              schema:
                type: string
              example: POST, OPTIONS
            Content-Language:
              schema:
                type: string
              example: es-mx
            X-Frame-Options:
              schema:
                type: string
              example: DENY
            X-Content-Type-Options:
              schema:
                type: string
              example: nosniff
            Referrer-Policy:
              schema:
                type: string
              example: same-origin
            Cross-Origin-Opener-Policy:
              schema:
                type: string
              example: same-origin
            cf-cache-status:
              schema:
                type: string
              example: DYNAMIC
            Report-To:
              schema:
                type: string
              example: >-
                {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=1Na33fILEypWzcOnTNw9zI%2BhihbR8rWfkkk6y5hJEcutfn9gJi44vb8Iww6RAk0PqT4S5Kf%2FzxS3UdMN3lmSK5%2FABTdneuey6iL9UQknmEZ6ks04Fd6MTL0Cso3k3oU%3D"}]}
            Content-Encoding:
              schema:
                type: string
              example: br
            CF-RAY:
              schema:
                type: string
              example: 9bb026cacc1221b9-GDL
            alt-svc:
              schema:
                type: string
              example: h3=":443"; ma=86400
          content:
            application/json:
              schema:
                type: object
                properties:
                  shipment:
                    type: object
                    properties:
                      internal_id:
                        type: string
                      creation_date:
                        type: string
                      modification_date:
                        type: string
                      label_number:
                        type: string
                        format: utc-millisec
                      tracking_number:
                        type: string
                        format: utc-millisec
                      status:
                        type: string
                  transaction_id:
                    type: string
              example:
                shipment:
                  internal_id: 1829cc48-9ea9-497f-92c1-6e6aae2885ee
                  creation_date: '2026-01-08T19:27:19.945288'
                  modification_date: '2026-01-08T19:27:19.945288'
                  label_number: '883163967169'
                  tracking_number: '883163967169'
                  status: CANCELLED
                transaction_id: 1829cc48-9ea9-497f-92c1-6e6aae2885ee
        '401':
          description: 401 Unauthorized
          headers:
            Date:
              schema:
                type: string
              example: Fri, 09 Jan 2026 01:27:19 GMT
            Transfer-Encoding:
              schema:
                type: string
              example: chunked
            Connection:
              schema:
                type: string
              example: keep-alive
            Server:
              schema:
                type: string
              example: cloudflare
            Nel:
              schema:
                type: string
              example: '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}'
            Vary:
              schema:
                type: string
              example: Accept, Accept-Language, Origin
            Allow:
              schema:
                type: string
              example: POST, OPTIONS
            Content-Language:
              schema:
                type: string
              example: es-mx
            X-Frame-Options:
              schema:
                type: string
              example: DENY
            X-Content-Type-Options:
              schema:
                type: string
              example: nosniff
            Referrer-Policy:
              schema:
                type: string
              example: same-origin
            Cross-Origin-Opener-Policy:
              schema:
                type: string
              example: same-origin
            cf-cache-status:
              schema:
                type: string
              example: DYNAMIC
            Report-To:
              schema:
                type: string
              example: >-
                {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=1Na33fILEypWzcOnTNw9zI%2BhihbR8rWfkkk6y5hJEcutfn9gJi44vb8Iww6RAk0PqT4S5Kf%2FzxS3UdMN3lmSK5%2FABTdneuey6iL9UQknmEZ6ks04Fd6MTL0Cso3k3oU%3D"}]}
            Content-Encoding:
              schema:
                type: string
              example: br
            CF-RAY:
              schema:
                type: string
              example: 9bb026cacc1221b9-GDL
            alt-svc:
              schema:
                type: string
              example: h3=":443"; ma=86400
        '403':
          description: 403 Forbidden
          headers:
            Date:
              schema:
                type: string
              example: Fri, 09 Jan 2026 01:27:19 GMT
            Transfer-Encoding:
              schema:
                type: string
              example: chunked
            Connection:
              schema:
                type: string
              example: keep-alive
            Server:
              schema:
                type: string
              example: cloudflare
            Nel:
              schema:
                type: string
              example: '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}'
            Vary:
              schema:
                type: string
              example: Accept, Accept-Language, Origin
            Allow:
              schema:
                type: string
              example: POST, OPTIONS
            Content-Language:
              schema:
                type: string
              example: es-mx
            X-Frame-Options:
              schema:
                type: string
              example: DENY
            X-Content-Type-Options:
              schema:
                type: string
              example: nosniff
            Referrer-Policy:
              schema:
                type: string
              example: same-origin
            Cross-Origin-Opener-Policy:
              schema:
                type: string
              example: same-origin
            cf-cache-status:
              schema:
                type: string
              example: DYNAMIC
            Report-To:
              schema:
                type: string
              example: >-
                {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=1Na33fILEypWzcOnTNw9zI%2BhihbR8rWfkkk6y5hJEcutfn9gJi44vb8Iww6RAk0PqT4S5Kf%2FzxS3UdMN3lmSK5%2FABTdneuey6iL9UQknmEZ6ks04Fd6MTL0Cso3k3oU%3D"}]}
            Content-Encoding:
              schema:
                type: string
              example: br
            CF-RAY:
              schema:
                type: string
              example: 9bb026cacc1221b9-GDL
            alt-svc:
              schema:
                type: string
              example: h3=":443"; ma=86400
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      details:
                        nullable: true
                  transaction_id:
                    type: string
              example:
                error:
                  code: USER_INACTIVE_ERROR
                  message: >-
                    Lo sentimos no puedes realizar esta acción debido a que tu
                    cuenta no esta activa, favor de contactar a tu asesor.
                  details: null
                transaction_id: 2aefad11-a0f6-4c7d-9601-fdc03309faaf
        '404':
          description: 404 Not Found
          headers:
            Date:
              schema:
                type: string
              example: Fri, 09 Jan 2026 01:01:50 GMT
            Transfer-Encoding:
              schema:
                type: string
              example: chunked
            Connection:
              schema:
                type: string
              example: keep-alive
            Server:
              schema:
                type: string
              example: cloudflare
            Nel:
              schema:
                type: string
              example: '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}'
            Vary:
              schema:
                type: string
              example: Accept, Accept-Language, Origin
            Allow:
              schema:
                type: string
              example: POST, OPTIONS
            Content-Language:
              schema:
                type: string
              example: es-mx
            X-Frame-Options:
              schema:
                type: string
              example: DENY
            X-Content-Type-Options:
              schema:
                type: string
              example: nosniff
            Referrer-Policy:
              schema:
                type: string
              example: same-origin
            Cross-Origin-Opener-Policy:
              schema:
                type: string
              example: same-origin
            cf-cache-status:
              schema:
                type: string
              example: DYNAMIC
            Report-To:
              schema:
                type: string
              example: >-
                {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=8PD9LFQiHgmsNyZT%2BFMQneBDB8HT75ZsGFnlq4n2Cxh7mwFhj%2BEruqEcD1QmWj6ZqOGgjvor7KdfQINTb18PDAvBogXd%2FN4HhtkSyoDBwUIiYJ3lz%2FlhuFAd7JcPqfs%3D"}]}
            Content-Encoding:
              schema:
                type: string
              example: br
            CF-RAY:
              schema:
                type: string
              example: 9bb00170985b21b4-GDL
            alt-svc:
              schema:
                type: string
              example: h3=":443"; ma=86400
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      details:
                        nullable: true
                  transaction_id:
                    type: string
              example:
                error:
                  code: SHIPMENT_NO_FOUND
                  message: >-
                    Lo sentimos el envio 883163967169 no se encuentra disponible
                    o no existe, favor de contactar a tu asesor.
                  details: null
                transaction_id: a8e0478e-8df8-4746-9e75-aec1e2a60ca6
        '405':
          description: 405 Method Not Allowed
          headers:
            Date:
              schema:
                type: string
              example: Mon, 05 Jan 2026 06:38:27 GMT
            Transfer-Encoding:
              schema:
                type: string
              example: chunked
            Connection:
              schema:
                type: string
              example: keep-alive
            Server:
              schema:
                type: string
              example: cloudflare
            Nel:
              schema:
                type: string
              example: '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}'
            Vary:
              schema:
                type: string
              example: Origin
            X-Content-Type-Options:
              schema:
                type: string
              example: nosniff
            Referrer-Policy:
              schema:
                type: string
              example: same-origin
            Cross-Origin-Opener-Policy:
              schema:
                type: string
              example: same-origin
            cf-cache-status:
              schema:
                type: string
              example: DYNAMIC
            Report-To:
              schema:
                type: string
              example: >-
                {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=dRBpQ7eFEK2wMpvp9GV9ABF8mIr%2BTY0wWlixqsCsm5ccOvvUWwR2Yw%2FcfwkLVO%2BVt5WQg5%2BwV%2BqQin9g%2FvE%2BHZxeNoJjaQ47PZem1u0rXk7l350gfrL6rawOpyv9RsY%3D"}]}
            CF-RAY:
              schema:
                type: string
              example: 9b90f90aac2d21b6-GDL
            alt-svc:
              schema:
                type: string
              example: h3=":443"; ma=86400
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                  status_code:
                    type: integer
              example:
                detail: Método "GET" no permitido.
                status_code: 405
        '406':
          description: 406 Not Acceptable
          headers:
            Date:
              schema:
                type: string
              example: Fri, 09 Jan 2026 01:44:53 GMT
            Content-Length:
              schema:
                type: integer
              example: 242
            Connection:
              schema:
                type: string
              example: keep-alive
            Server:
              schema:
                type: string
              example: cloudflare
            Nel:
              schema:
                type: string
              example: '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}'
            Vary:
              schema:
                type: string
              example: Accept, Accept-Language, Origin
            Allow:
              schema:
                type: string
              example: POST, OPTIONS
            Content-Language:
              schema:
                type: string
              example: es-mx
            X-Frame-Options:
              schema:
                type: string
              example: DENY
            X-Content-Type-Options:
              schema:
                type: string
              example: nosniff
            Referrer-Policy:
              schema:
                type: string
              example: same-origin
            Cross-Origin-Opener-Policy:
              schema:
                type: string
              example: same-origin
            cf-cache-status:
              schema:
                type: string
              example: DYNAMIC
            Report-To:
              schema:
                type: string
              example: >-
                {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Y2REqRQVsGluustDX49bSr%2FpP4ZLMrYkOPKeAFe%2B4NqSmK%2B1sh36ZEFvkcvR3A8tNHW608jx924kch5IU%2BQcNUy1q%2FB5%2FRK9zVx%2FPWYjbDT0Mef27E1pizl%2BuUm%2BIo0%3D"}]}
            CF-RAY:
              schema:
                type: string
              example: 9bb04083bee321b6-GDL
            alt-svc:
              schema:
                type: string
              example: h3=":443"; ma=86400
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      details:
                        type: object
                        properties:
                          shipment_tracking_number:
                            type: array
                            items:
                              type: string
                  transaction_id:
                    type: string
              example:
                error:
                  code: REQUEST_ERROR_406
                  message: Datos de la solicitud incompletos.
                  details:
                    shipment_tracking_number:
                      - Asegúrese de que este campo tenga al menos 3 caracteres.
                transaction_id: 40fda139-b2a6-4bdd-a2e6-55b4f0acecc0
        '409':
          description: 409 Conflict
          headers:
            Date:
              schema:
                type: string
              example: Fri, 09 Jan 2026 01:27:19 GMT
            Transfer-Encoding:
              schema:
                type: string
              example: chunked
            Connection:
              schema:
                type: string
              example: keep-alive
            Server:
              schema:
                type: string
              example: cloudflare
            Nel:
              schema:
                type: string
              example: '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}'
            Vary:
              schema:
                type: string
              example: Accept, Accept-Language, Origin
            Allow:
              schema:
                type: string
              example: POST, OPTIONS
            Content-Language:
              schema:
                type: string
              example: es-mx
            X-Frame-Options:
              schema:
                type: string
              example: DENY
            X-Content-Type-Options:
              schema:
                type: string
              example: nosniff
            Referrer-Policy:
              schema:
                type: string
              example: same-origin
            Cross-Origin-Opener-Policy:
              schema:
                type: string
              example: same-origin
            cf-cache-status:
              schema:
                type: string
              example: DYNAMIC
            Report-To:
              schema:
                type: string
              example: >-
                {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=1Na33fILEypWzcOnTNw9zI%2BhihbR8rWfkkk6y5hJEcutfn9gJi44vb8Iww6RAk0PqT4S5Kf%2FzxS3UdMN3lmSK5%2FABTdneuey6iL9UQknmEZ6ks04Fd6MTL0Cso3k3oU%3D"}]}
            Content-Encoding:
              schema:
                type: string
              example: br
            CF-RAY:
              schema:
                type: string
              example: 9bb026cacc1221b9-GDL
            alt-svc:
              schema:
                type: string
              example: h3=":443"; ma=86400
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      details:
                        nullable: true
                  transaction_id:
                    type: string
              example:
                error:
                  code: SHIPMENT_CANNOT_BE_CANCELLED
                  message: >-
                    El envío 883163967169 no puede cancelarse porque ya fue
                    cancelado o se encuentra en proceso de entrega.
                  details: null
                transaction_id: 2aefad11-a0f6-4c7d-9601-fdc03309faaf
        '500':
          description: 500 Internal Server Error
          headers:
            Date:
              schema:
                type: string
              example: Fri, 09 Jan 2026 01:09:53 GMT
            Content-Length:
              schema:
                type: integer
              example: 239
            Connection:
              schema:
                type: string
              example: keep-alive
            Server:
              schema:
                type: string
              example: cloudflare
            Nel:
              schema:
                type: string
              example: '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}'
            Vary:
              schema:
                type: string
              example: Accept, Accept-Language, Origin
            Allow:
              schema:
                type: string
              example: POST, OPTIONS
            Content-Language:
              schema:
                type: string
              example: es-mx
            X-Frame-Options:
              schema:
                type: string
              example: DENY
            X-Content-Type-Options:
              schema:
                type: string
              example: nosniff
            Referrer-Policy:
              schema:
                type: string
              example: same-origin
            Cross-Origin-Opener-Policy:
              schema:
                type: string
              example: same-origin
            cf-cache-status:
              schema:
                type: string
              example: DYNAMIC
            Report-To:
              schema:
                type: string
              example: >-
                {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=A%2F5bDmPxGVcoAQkQPgo%2Bd52Dz01njmd7r0E6kXQ548gEQSLCjHeew6kOy1zuCAsZOdxbbwOAqq%2F3ZN%2FtFgMZlrNDwaiKrvOnkEg08IC4XGTb%2FXzoxi3IC2xVjEg0RYc%3D"}]}
            CF-RAY:
              schema:
                type: string
              example: 9bb00d3cef6c21b6-GDL
            alt-svc:
              schema:
                type: string
              example: h3=":443"; ma=86400
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      details:
                        nullable: true
                  transaction_id:
                    type: string
              example:
                error:
                  code: INTERNAL_SERVER_ERROR
                  message: >-
                    Lo sentimos hubo un error inesperado, favor de intentar mas
                    tarde.
                  details: null
                transaction_id: 9f091a8a-a214-4c23-8b89-560670c64714
        '504':
          description: 504 Gateway Timeout
          headers:
            Date:
              schema:
                type: string
              example: Fri, 09 Jan 2026 01:09:53 GMT
            Content-Length:
              schema:
                type: integer
              example: 239
            Connection:
              schema:
                type: string
              example: keep-alive
            Server:
              schema:
                type: string
              example: cloudflare
            Nel:
              schema:
                type: string
              example: '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}'
            Vary:
              schema:
                type: string
              example: Accept, Accept-Language, Origin
            Allow:
              schema:
                type: string
              example: POST, OPTIONS
            Content-Language:
              schema:
                type: string
              example: es-mx
            X-Frame-Options:
              schema:
                type: string
              example: DENY
            X-Content-Type-Options:
              schema:
                type: string
              example: nosniff
            Referrer-Policy:
              schema:
                type: string
              example: same-origin
            Cross-Origin-Opener-Policy:
              schema:
                type: string
              example: same-origin
            cf-cache-status:
              schema:
                type: string
              example: DYNAMIC
            Report-To:
              schema:
                type: string
              example: >-
                {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=A%2F5bDmPxGVcoAQkQPgo%2Bd52Dz01njmd7r0E6kXQ548gEQSLCjHeew6kOy1zuCAsZOdxbbwOAqq%2F3ZN%2FtFgMZlrNDwaiKrvOnkEg08IC4XGTb%2FXzoxi3IC2xVjEg0RYc%3D"}]}
            CF-RAY:
              schema:
                type: string
              example: 9bb00d3cef6c21b6-GDL
            alt-svc:
              schema:
                type: string
              example: h3=":443"; ma=86400
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      details:
                        nullable: true
                  transaction_id:
                    type: string
              example:
                error:
                  code: PROVIDER_TIMEOUT
                  message: >-
                    El proveedor está tardando demasiado en responder, favor de
                    intentar mas tarde.
                  details: null
                transaction_id: 9f091a8a-a214-4c23-8b89-560670c64714

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.