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
Was this page helpful?