API Documentation

API Endpoint

Proposals

Proposals

Following diagram shows proposals in our data hierarchy:

Proposals diagram

Supported filter params

  • id (array)

  • deal_id (array)

  • status (array) (draft, sent, accepted, rejected)

GET /api/v2/proposals
Requestsreturns proposals

GET  /api/v2/proposals

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": [
    {
      "id": "1",
      "type": "proposals",
      "attributes": {
        "name": "test proposal",
        "note": null,
        "footer": null,
        "status": "draft",
        "purchase_order_number": null,
        "date": "2025-12-26",
        "end_date": null,
        "sent_at": null,
        "created_at": "2025-12-26T01:20:37.998+01:00",
        "custom_fields": null,
        "public_uuid": "932e1756-f0f2-51c9-addc-53b4bd3572ce",
        "link_status": "inactive",
        "responder_name": null,
        "responder_email": null,
        "status_changed_at": null,
        "disclaimer": null,
        "disclaimer_enabled": false,
        "exchange_rate": "1.25",
        "exchange_date": "2025-12-26",
        "signed": false,
        "original_pdf_url": null,
        "audit_pdf_url": null,
        "currency": "EUR",
        "currency_default": "USD",
        "currency_normalized": "EUR",
        "budget_total": 0,
        "budget_total_default": 0,
        "budget_total_normalized": 0,
        "note_interpolated": null,
        "footer_interpolated": null
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "2335"
          }
        },
        "client": {
          "meta": {
            "included": false
          }
        },
        "deal": {
          "meta": {
            "included": false
          }
        },
        "document_type": {
          "meta": {
            "included": false
          }
        },
        "proposal_from": {
          "meta": {
            "included": false
          }
        },
        "proposal_to": {
          "meta": {
            "included": false
          }
        },
        "responsible": {
          "meta": {
            "included": false
          }
        },
        "subsidiary": {
          "meta": {
            "included": false
          }
        },
        "tax_rate": {
          "meta": {
            "included": false
          }
        },
        "contact": {
          "meta": {
            "included": false
          }
        },
        "creator": {
          "meta": {
            "included": false
          }
        },
        "deal_creator": {
          "meta": {
            "included": false
          }
        },
        "project": {
          "meta": {
            "included": false
          }
        }
      }
    },
    {
      "id": "2",
      "type": "proposals",
      "attributes": {
        "name": "test proposal",
        "note": null,
        "footer": null,
        "status": "draft",
        "purchase_order_number": null,
        "date": "2025-12-26",
        "end_date": null,
        "sent_at": null,
        "created_at": "2025-12-26T01:20:38.078+01:00",
        "custom_fields": null,
        "public_uuid": "ef0b8f32-2417-56cf-bff5-2dad0b90f93b",
        "link_status": "inactive",
        "responder_name": null,
        "responder_email": null,
        "status_changed_at": null,
        "disclaimer": null,
        "disclaimer_enabled": false,
        "exchange_rate": "1.25",
        "exchange_date": "2025-12-26",
        "signed": false,
        "original_pdf_url": null,
        "audit_pdf_url": null,
        "currency": "EUR",
        "currency_default": "USD",
        "currency_normalized": "EUR",
        "budget_total": 0,
        "budget_total_default": 0,
        "budget_total_normalized": 0,
        "note_interpolated": null,
        "footer_interpolated": null
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "2335"
          }
        },
        "client": {
          "meta": {
            "included": false
          }
        },
        "deal": {
          "meta": {
            "included": false
          }
        },
        "document_type": {
          "meta": {
            "included": false
          }
        },
        "proposal_from": {
          "meta": {
            "included": false
          }
        },
        "proposal_to": {
          "meta": {
            "included": false
          }
        },
        "responsible": {
          "meta": {
            "included": false
          }
        },
        "subsidiary": {
          "meta": {
            "included": false
          }
        },
        "tax_rate": {
          "meta": {
            "included": false
          }
        },
        "contact": {
          "meta": {
            "included": false
          }
        },
        "creator": {
          "meta": {
            "included": false
          }
        },
        "deal_creator": {
          "meta": {
            "included": false
          }
        },
        "project": {
          "meta": {
            "included": false
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/proposals?page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/proposals?page%5Bnumber%5D=1&page%5Bsize%5D=30"
  },
  "meta": {
    "current_page": 1,
    "total_pages": 1,
    "total_count": 2,
    "page_size": 30,
    "max_page_size": 200
  }
}

Get proposals
GET/api/v2/proposals


GET /api/v2/proposals/1
Requestsreturns proposals

GET  /api/v2/proposals/3

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "3",
    "type": "proposals",
    "attributes": {
      "name": "test proposal",
      "note": null,
      "footer": null,
      "status": "draft",
      "purchase_order_number": null,
      "date": "2025-12-26",
      "end_date": null,
      "sent_at": null,
      "created_at": "2025-12-26T01:20:38.221+01:00",
      "custom_fields": null,
      "public_uuid": "930932ff-a0db-517f-84e9-944dd3662e9c",
      "link_status": "inactive",
      "responder_name": null,
      "responder_email": null,
      "status_changed_at": null,
      "disclaimer": null,
      "disclaimer_enabled": false,
      "exchange_rate": "1.25",
      "exchange_date": "2025-12-26",
      "signed": false,
      "original_pdf_url": null,
      "audit_pdf_url": null,
      "currency": "EUR",
      "currency_default": "USD",
      "currency_normalized": "EUR",
      "budget_total": 0,
      "budget_total_default": 0,
      "budget_total_normalized": 0,
      "note_interpolated": null,
      "footer_interpolated": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2336"
        }
      },
      "client": {
        "meta": {
          "included": false
        }
      },
      "deal": {
        "meta": {
          "included": false
        }
      },
      "document_type": {
        "meta": {
          "included": false
        }
      },
      "proposal_from": {
        "meta": {
          "included": false
        }
      },
      "proposal_to": {
        "meta": {
          "included": false
        }
      },
      "responsible": {
        "meta": {
          "included": false
        }
      },
      "subsidiary": {
        "meta": {
          "included": false
        }
      },
      "tax_rate": {
        "meta": {
          "included": false
        }
      },
      "contact": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "deal_creator": {
        "meta": {
          "included": false
        }
      },
      "project": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Gets a proposal
GET/api/v2/proposals/{id}

URI Parameters
HideShow
id
number (required) Example: 1

proposal id


GET /api/v2/proposals/1/sync_status
Requestsreturns proposals

GET  /api/v2/proposals/4/sync_status

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "data": {
    "id": 4,
    "in_sync": true
  }
}

Get proposal's sync status
GET/api/v2/proposals/{id}/sync_status

URI Parameters
HideShow
id
number (required) Example: 1

proposal id


POST /api/v2/proposals
Requestsreturns created

POST  /api/v2/proposals

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "proposals",
    "attributes": {
      "name": "test proposal",
      "status": "draft"
    },
    "relationships": {
      "deal": {
        "data": {
          "type": "deals",
          "id": "1919"
        }
      },
      "document_type": {
        "data": {
          "type": "document-types",
          "id": "2221"
        }
      },
      "tax_rate": {
        "data": {
          "type": "tax_rate",
          "id": "51"
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "5",
    "type": "proposals",
    "attributes": {
      "name": "test proposal",
      "note": null,
      "footer": null,
      "status": "draft",
      "purchase_order_number": null,
      "date": "2025-12-26",
      "end_date": null,
      "sent_at": null,
      "created_at": "2025-12-26T01:20:38.589+01:00",
      "custom_fields": null,
      "public_uuid": "ad8ff654-ae01-564e-b90a-c17bd6df81f4",
      "link_status": "inactive",
      "responder_name": null,
      "responder_email": null,
      "status_changed_at": "2025-12-26T01:20:38.000+01:00",
      "disclaimer": null,
      "disclaimer_enabled": false,
      "exchange_rate": "1.25",
      "exchange_date": "2025-12-26",
      "signed": false,
      "original_pdf_url": null,
      "audit_pdf_url": null,
      "currency": "EUR",
      "currency_default": "USD",
      "currency_normalized": "EUR",
      "budget_total": 0,
      "budget_total_default": 0,
      "budget_total_normalized": 0,
      "note_interpolated": null,
      "footer_interpolated": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2340"
        }
      },
      "client": {
        "meta": {
          "included": false
        }
      },
      "deal": {
        "meta": {
          "included": false
        }
      },
      "document_type": {
        "meta": {
          "included": false
        }
      },
      "proposal_from": {
        "meta": {
          "included": false
        }
      },
      "proposal_to": {
        "meta": {
          "included": false
        }
      },
      "responsible": {
        "meta": {
          "included": false
        }
      },
      "subsidiary": {
        "meta": {
          "included": false
        }
      },
      "tax_rate": {
        "meta": {
          "included": false
        }
      },
      "contact": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "deal_creator": {
        "meta": {
          "included": false
        }
      },
      "project": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Create a proposal
POST/api/v2/proposals

URI Parameters
HideShow
name
string (required) Example: Name

name

status
string (required) Example: draft

proposal status (draft, sent, accepted, rejected)

deal_id
number (required) Example: 1

deal

document_type_id
number (required) Example: 1

document type

tax_rate_id
number (optional) Example: 1

tax rate

note
string (required) Example: Note

note


PATCH /api/v2/proposals/1
Requestsupdates proposal

PATCH  /api/v2/proposals/6

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "proposals",
    "attributes": {
      "name": "new name",
      "status": "accepted"
    },
    "relationships": {
      "deal": {
        "data": {
          "type": "deals",
          "id": "1920"
        }
      },
      "document_type": {
        "data": {
          "type": "document-types",
          "id": "2223"
        }
      },
      "tax_rate": {
        "data": {
          "type": "tax_rate",
          "id": "52"
        }
      }
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "6",
    "type": "proposals",
    "attributes": {
      "name": "new name",
      "note": null,
      "footer": null,
      "status": "accepted",
      "purchase_order_number": null,
      "date": "2025-12-26",
      "end_date": null,
      "sent_at": null,
      "created_at": "2025-12-26T01:20:38.735+01:00",
      "custom_fields": null,
      "public_uuid": "79c2f03c-7d96-5f11-9ef9-aea0c3f5c8bf",
      "link_status": "inactive",
      "responder_name": "name surname",
      "responder_email": "user8714@email.com",
      "status_changed_at": "2025-12-26T01:20:38.000+01:00",
      "disclaimer": null,
      "disclaimer_enabled": false,
      "exchange_rate": "1.25",
      "exchange_date": "2025-12-26",
      "signed": false,
      "original_pdf_url": null,
      "audit_pdf_url": null,
      "currency": "EUR",
      "currency_default": "USD",
      "currency_normalized": "EUR",
      "budget_total": 0,
      "budget_total_default": 0,
      "budget_total_normalized": 0,
      "note_interpolated": null,
      "footer_interpolated": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2341"
        }
      },
      "client": {
        "meta": {
          "included": false
        }
      },
      "deal": {
        "meta": {
          "included": false
        }
      },
      "document_type": {
        "meta": {
          "included": false
        }
      },
      "proposal_from": {
        "meta": {
          "included": false
        }
      },
      "proposal_to": {
        "meta": {
          "included": false
        }
      },
      "responsible": {
        "meta": {
          "included": false
        }
      },
      "subsidiary": {
        "meta": {
          "included": false
        }
      },
      "tax_rate": {
        "meta": {
          "included": false
        }
      },
      "contact": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "deal_creator": {
        "meta": {
          "included": false
        }
      },
      "project": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Update a proposal
PATCH/api/v2/proposals/{id}

URI Parameters
HideShow
id
number (required) Example: 1

proposal id


PATCH /api/v2/proposals/1/sync
Requestscreates proposal sections and servicesreturns error

PATCH  /api/v2/proposals/11/sync

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "11",
    "type": "proposals",
    "attributes": {
      "name": "test proposal",
      "note": null,
      "footer": null,
      "status": "draft",
      "purchase_order_number": null,
      "date": "2025-12-26",
      "end_date": null,
      "sent_at": null,
      "created_at": "2025-12-26T01:20:39.603+01:00",
      "custom_fields": null,
      "public_uuid": "752cee7f-732c-5484-8e6b-1536b58268df",
      "link_status": "inactive",
      "responder_name": null,
      "responder_email": null,
      "status_changed_at": null,
      "disclaimer": null,
      "disclaimer_enabled": false,
      "exchange_rate": "1.25",
      "exchange_date": "2025-12-26",
      "signed": false,
      "original_pdf_url": null,
      "audit_pdf_url": null,
      "currency": "EUR",
      "currency_default": "USD",
      "currency_normalized": "EUR",
      "budget_total": 100000,
      "budget_total_default": 125000,
      "budget_total_normalized": 100000,
      "note_interpolated": null,
      "footer_interpolated": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2346"
        }
      },
      "client": {
        "meta": {
          "included": false
        }
      },
      "deal": {
        "meta": {
          "included": false
        }
      },
      "document_type": {
        "meta": {
          "included": false
        }
      },
      "proposal_from": {
        "meta": {
          "included": false
        }
      },
      "proposal_to": {
        "meta": {
          "included": false
        }
      },
      "responsible": {
        "meta": {
          "included": false
        }
      },
      "subsidiary": {
        "meta": {
          "included": false
        }
      },
      "tax_rate": {
        "meta": {
          "included": false
        }
      },
      "contact": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "deal_creator": {
        "meta": {
          "included": false
        }
      },
      "project": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/proposals/12/sync

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses409
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "409",
      "code": "not_in_draft_status",
      "title": "Conflict error",
      "source": {}
    }
  ]
}

Sync a proposal
PATCH/api/v2/proposals/{id}/sync

URI Parameters
HideShow
id
number (required) Example: 1

proposal id


DELETE /api/v2/proposals/1
Requestsdeletes proposal

DELETE  /api/v2/proposals/25

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses204
This response has no content.

Deletes a proposal
DELETE/api/v2/proposals/{id}

URI Parameters
HideShow
id
number (required) Example: 1

proposal id


Generated by aglio on 26 Dec 2025