O endpoint signDocument não permite que eu passe um certificado A1 meu para realizar a assinatura. Gostaria que permitisse, assim como é possível na interface web.

Cara, o problema aqui é compliance.
Pela API, o certificado A1 e principalmente a chave privada não podem transitar pela nossa infraestrutura. Diferente da interface web, onde a assinatura acontece localmente no navegador/OS do usuário, na API qualquer envio do A1 implicaria em violação a compliance do ICP-Brasil.
O caminho tecnicamente correto seria outro: a API disponibiliza o digest do PDF a ser assinado, o cliente realiza a assinatura localmente com o A1 dele e envia apenas o artefato assinado (CMS/PKCS#7). Nós validamos e incorporamos essa assinatura ao PDF no padrão PAdES.
Isso mantém o controle da chave totalmente com o cliente, preserva segurança jurídica e não exige que certificados sensíveis sejam compartilhados.
Acha que um fluxo de assinatura assim seria viável? Ele iria exigir um nível de implementação maior do lado do cliente, para fazer a efetiva assinatura do digest com o certificado e desolver para incorporarmos ao PDF

Eu simplifiquei muito o requisito, desculpa.
Exato, este fluxo atenderia perfeitamente.
É algo que já é possível fazer pela API?
Se não for, consegue priorizar? Pretendo usar isso em escala se estiver disponível.
Meu caso de uso é formalização de contratos de empréstimo.
Esta funcionalidade pode colocar vocês no hall das empresas de formalização utilizadas pelo mercado neste tipo assinatura como ClickSign, Unico e outras.

Não temos hoje, mas acho que não seria complicado de implementar. Já temos a lógica toda que ocorre quando é assinado no front. Xo ver com o time técnico o que rola fazer, mas vai depender de disponibilidade
Sempre tem a opção de usar o sudo de desenvolvimento de funcionalidade sob medida do plano corporativo, dai não depende do cronograma dos devs

O que é o “sudo de desenvolvimento”?
Esta funcionalidade coloca vocês no radar das fintechs. Eu consigo fazer ponte entre vocês e um grande BaaS para embarcarem a solução de vocês lá.

Cassiano, conseguiu ver se consegue colocar a funcionalidade na api?