Send

Developers

Send API: every tool, accessible via REST

Integrate the 269 Send tools into your IS. Sanctum authentication, OpenAPI spec, clear rate limits, cURL examples.

4-step Quickstart

  1. 1. Create a tenant account

    Free 30-day signup on the apex to get a subdomain {slug}.sudinformatique.com.

  2. 2. Generate a Sanctum token

    From the tenant console → Settings → API tokens, create a token with the required abilities (tools:execute, files:read, etc.).

    # Store your token (starts with "1|..." or "2|...")
    export SEND_TOKEN="1|abc...xyz"
    export SEND_HOST="https://{slug}.sudinformatique.com"
  3. 3. List available tools

    curl -H "Authorization: Bearer $SEND_TOKEN" \
         "$SEND_HOST/api/v1/tools" | jq '.data | length'
    
    # Response: 269
  4. 4. Run a tool (compress PDF)

    # 1. Dispatch the execution
    JOB=$(curl -sH "Authorization: Bearer $SEND_TOKEN" \
      -F "file=@/path/to/contract.pdf" \
      -F "preset=ebook" \
      "$SEND_HOST/api/v1/tools/pdf-compress/execute" | jq -r '.data.job_id')
    
    # 2. Poll until completed
    while true; do
      STATUS=$(curl -sH "Authorization: Bearer $SEND_TOKEN" \
        "$SEND_HOST/api/v1/tools/jobs/$JOB" | jq -r '.data.status')
      [ "$STATUS" = "completed" ] && break
      [ "$STATUS" = "failed" ] && { echo "Failed"; exit 1; }
      sleep 2
    done
    
    # 3. Download the result (signed URL, 15 min)
    URL=$(curl -sH "Authorization: Bearer $SEND_TOKEN" \
      "$SEND_HOST/api/v1/tools/jobs/$JOB" | jq -r '.data.result_url')
    curl -L -o output.pdf "$URL"

Limits & quotas

Resource Limit
Per-token rate limit60 req / minute
Max upload per file5 GB (configurable per tenant)
Job timeout30 minutes
Result retention1 hour after completion
Signed URL validity15 minutes

Response formats

All responses follow the same JSON format:

{
  "data": { ... },
  "meta": { ... },
  "links": { ... },
  "errors": []
}

Expected HTTP codes

  • 200 OK — synchronous success
  • 202 Accepted — async job dispatched, polling required
  • 400/422 — validation failed (details in errors[])
  • 401 — missing or invalid token
  • 403 — token without the required ability
  • 404 — resource not found or cross-tenant
  • 429 — rate limit exceeded (Retry-After header)
  • 500 — server error (reported to Sentry)

Ready to integrate Send into your IS?

Free 30-day console, downloadable OpenAPI spec, responsive technical support.