LAGO_URL="https://api.getlago.com"
ORDER_FORM_ID="__ORDER_FORM_ID__"
API_KEY="__YOUR_API_KEY__"
curl --location --request POST "$LAGO_URL/api/v1/order_forms/$ORDER_FORM_ID/mark_as_signed" \
--header "Authorization: Bearer $API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"order_form": {
"signed_document": "data:application/pdf;base64,JVBERi0xLjQKJcfs...",
"execution_mode": "execute_in_lago",
"execute_at": "2026-07-01T00:00:00Z"
}
}'
from lago_python_client.client import Client
from lago_python_client.exceptions import LagoApiError
from lago_python_client.models import OrderFormMarkAsSigned
client = Client(api_key='__YOUR_API_KEY__')
try:
client.order_forms.mark_as_signed(
'__ORDER_FORM_ID__',
OrderFormMarkAsSigned(
signed_document='data:application/pdf;base64,JVBERi0xLjQKJcfs...',
execution_mode='execute_in_lago',
execute_at='2026-07-01T00:00:00Z',
),
)
except LagoApiError as e:
repair_broken_state(e) # do something on error or raise your own exception
require 'lago-ruby-client'
client = Lago::Api::Client.new(api_key: '__YOUR_API_KEY__')
client.order_forms.mark_as_signed(
'__ORDER_FORM_ID__',
{
signed_document: 'data:application/pdf;base64,JVBERi0xLjQKJcfs...',
execution_mode: 'execute_in_lago',
execute_at: '2026-07-01T00:00:00Z',
},
)
await client.orderForms.markOrderFormAsSigned("__ORDER_FORM_ID__", {
order_form: {
signed_document: "data:application/pdf;base64,JVBERi0xLjQKJcfs...",
execution_mode: "execute_in_lago",
execute_at: "2026-07-01T00:00:00Z",
},
});
import (
"context"
"fmt"
"time"
lago "github.com/getlago/lago-go-client"
)
func main() {
lagoClient := lago.New().SetApiKey("__YOUR_API_KEY__")
ctx := context.Background()
executeAt := time.Date(2026, time.July, 1, 0, 0, 0, 0, time.UTC)
orderForm, err := lagoClient.OrderForm().MarkAsSigned(ctx, "__ORDER_FORM_ID__", &lago.OrderFormMarkAsSignedInput{
SignedDocument: "data:application/pdf;base64,JVBERi0xLjQKJcfs...",
ExecutionMode: lago.OrderExecutionModeExecuteInLago,
ExecuteAt: &executeAt,
})
if err != nil {
// Error is *lago.Error
panic(err)
}
// orderForm is *lago.OrderForm
fmt.Println(orderForm)
}
{
"order_form": {
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"number": "OF-2026-0001",
"status": "generated",
"void_reason": "manual",
"expires_at": "2026-06-30T23:59:59Z",
"signed_at": "2026-04-29T08:59:51Z",
"voided_at": "2026-04-29T08:59:51Z",
"signed_document_url": "https://api.getlago.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMi/OF-2026-0001",
"lago_organization_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"lago_customer_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"lago_quote_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"lago_quote_version_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"created_at": "2026-04-29T08:59:51Z",
"updated_at": "2026-04-29T08:59:51Z"
}
}{
"status": 401,
"error": "Unauthorized"
}{
"status": 403,
"error": "Forbidden",
"code": "feature_unavailable"
}{
"status": 404,
"error": "Not Found",
"code": "object_not_found"
}{
"status": 422,
"error": "Unprocessable entity",
"code": "validation_errors",
"error_details": {}
}Mark an order form as signed
This endpoint records the customer’s signature on an order form, and creates the order that carries the quoted deal out.
Only a generated order form can be signed, so a 422 is returned once the order form has been signed, has expired or has been voided.
An execute_at landing on or after the day the quoted deal stops being executable is rejected as well, so the order can never be scheduled past the term it bills.
A concurrent write on the same quote is reported as a 422 rather than retried, so a duplicated call can fail while the first one is still in flight.
This is a premium feature.
LAGO_URL="https://api.getlago.com"
ORDER_FORM_ID="__ORDER_FORM_ID__"
API_KEY="__YOUR_API_KEY__"
curl --location --request POST "$LAGO_URL/api/v1/order_forms/$ORDER_FORM_ID/mark_as_signed" \
--header "Authorization: Bearer $API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"order_form": {
"signed_document": "data:application/pdf;base64,JVBERi0xLjQKJcfs...",
"execution_mode": "execute_in_lago",
"execute_at": "2026-07-01T00:00:00Z"
}
}'
from lago_python_client.client import Client
from lago_python_client.exceptions import LagoApiError
from lago_python_client.models import OrderFormMarkAsSigned
client = Client(api_key='__YOUR_API_KEY__')
try:
client.order_forms.mark_as_signed(
'__ORDER_FORM_ID__',
OrderFormMarkAsSigned(
signed_document='data:application/pdf;base64,JVBERi0xLjQKJcfs...',
execution_mode='execute_in_lago',
execute_at='2026-07-01T00:00:00Z',
),
)
except LagoApiError as e:
repair_broken_state(e) # do something on error or raise your own exception
require 'lago-ruby-client'
client = Lago::Api::Client.new(api_key: '__YOUR_API_KEY__')
client.order_forms.mark_as_signed(
'__ORDER_FORM_ID__',
{
signed_document: 'data:application/pdf;base64,JVBERi0xLjQKJcfs...',
execution_mode: 'execute_in_lago',
execute_at: '2026-07-01T00:00:00Z',
},
)
await client.orderForms.markOrderFormAsSigned("__ORDER_FORM_ID__", {
order_form: {
signed_document: "data:application/pdf;base64,JVBERi0xLjQKJcfs...",
execution_mode: "execute_in_lago",
execute_at: "2026-07-01T00:00:00Z",
},
});
import (
"context"
"fmt"
"time"
lago "github.com/getlago/lago-go-client"
)
func main() {
lagoClient := lago.New().SetApiKey("__YOUR_API_KEY__")
ctx := context.Background()
executeAt := time.Date(2026, time.July, 1, 0, 0, 0, 0, time.UTC)
orderForm, err := lagoClient.OrderForm().MarkAsSigned(ctx, "__ORDER_FORM_ID__", &lago.OrderFormMarkAsSignedInput{
SignedDocument: "data:application/pdf;base64,JVBERi0xLjQKJcfs...",
ExecutionMode: lago.OrderExecutionModeExecuteInLago,
ExecuteAt: &executeAt,
})
if err != nil {
// Error is *lago.Error
panic(err)
}
// orderForm is *lago.OrderForm
fmt.Println(orderForm)
}
{
"order_form": {
"lago_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"number": "OF-2026-0001",
"status": "generated",
"void_reason": "manual",
"expires_at": "2026-06-30T23:59:59Z",
"signed_at": "2026-04-29T08:59:51Z",
"voided_at": "2026-04-29T08:59:51Z",
"signed_document_url": "https://api.getlago.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMi/OF-2026-0001",
"lago_organization_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"lago_customer_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"lago_quote_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"lago_quote_version_id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
"created_at": "2026-04-29T08:59:51Z",
"updated_at": "2026-04-29T08:59:51Z"
}
}{
"status": 401,
"error": "Unauthorized"
}{
"status": 403,
"error": "Forbidden",
"code": "feature_unavailable"
}{
"status": 404,
"error": "Not Found",
"code": "object_not_found"
}{
"status": 422,
"error": "Unprocessable entity",
"code": "validation_errors",
"error_details": {}
}LAGO_URL="https://api.getlago.com"
ORDER_FORM_ID="__ORDER_FORM_ID__"
API_KEY="__YOUR_API_KEY__"
curl --location --request POST "$LAGO_URL/api/v1/order_forms/$ORDER_FORM_ID/mark_as_signed" \
--header "Authorization: Bearer $API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"order_form": {
"signed_document": "data:application/pdf;base64,JVBERi0xLjQKJcfs...",
"execution_mode": "execute_in_lago",
"execute_at": "2026-07-01T00:00:00Z"
}
}'
from lago_python_client.client import Client
from lago_python_client.exceptions import LagoApiError
from lago_python_client.models import OrderFormMarkAsSigned
client = Client(api_key='__YOUR_API_KEY__')
try:
client.order_forms.mark_as_signed(
'__ORDER_FORM_ID__',
OrderFormMarkAsSigned(
signed_document='data:application/pdf;base64,JVBERi0xLjQKJcfs...',
execution_mode='execute_in_lago',
execute_at='2026-07-01T00:00:00Z',
),
)
except LagoApiError as e:
repair_broken_state(e) # do something on error or raise your own exception
require 'lago-ruby-client'
client = Lago::Api::Client.new(api_key: '__YOUR_API_KEY__')
client.order_forms.mark_as_signed(
'__ORDER_FORM_ID__',
{
signed_document: 'data:application/pdf;base64,JVBERi0xLjQKJcfs...',
execution_mode: 'execute_in_lago',
execute_at: '2026-07-01T00:00:00Z',
},
)
await client.orderForms.markOrderFormAsSigned("__ORDER_FORM_ID__", {
order_form: {
signed_document: "data:application/pdf;base64,JVBERi0xLjQKJcfs...",
execution_mode: "execute_in_lago",
execute_at: "2026-07-01T00:00:00Z",
},
});
import (
"context"
"fmt"
"time"
lago "github.com/getlago/lago-go-client"
)
func main() {
lagoClient := lago.New().SetApiKey("__YOUR_API_KEY__")
ctx := context.Background()
executeAt := time.Date(2026, time.July, 1, 0, 0, 0, 0, time.UTC)
orderForm, err := lagoClient.OrderForm().MarkAsSigned(ctx, "__ORDER_FORM_ID__", &lago.OrderFormMarkAsSignedInput{
SignedDocument: "data:application/pdf;base64,JVBERi0xLjQKJcfs...",
ExecutionMode: lago.OrderExecutionModeExecuteInLago,
ExecuteAt: &executeAt,
})
if err != nil {
// Error is *lago.Error
panic(err)
}
// orderForm is *lago.OrderForm
fmt.Println(orderForm)
}
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Unique identifier assigned to the order form within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the order form's record within the Lago system.
"1a901a90-1a90-1a90-1a90-1a901a901a90"
Body
Mark order form as signed payload
Parameters available when marking an order form as signed. Every parameter is optional, so an empty body records the signature without attaching a document, and creates an order that is not scheduled for execution.
Show child attributes
Show child attributes
Response
Order form marked as signed
Show child attributes
Show child attributes