Opens a request for a file to be uploaded, against an existing SharedFileRequestConfiguration. The title, instructions, accepted MIME types and context type come from that configuration.
The body names a relationship, not the two accounts: payerPayeeId carries both seats, and the caller must hold one of them. One shape serves two callers. A PAYER orders a document directly, naming configurationId; no requirement is needed to justify it. A PAYEE opens their own request against a requirement that asks for a document, naming requirementId and leaving configurationId, externalId and metadata unset — the platform supplies the configuration that the cited requirement authorizes, so the payee cannot choose it, and the other two are the payer's to set.
A relationship that does not resolve, or one the caller holds no seat on, returns 404 — the same answer either way, so a caller cannot learn which relationships exist.
The payee's two refusals are ordered, and the order is worth knowing before treating 400 as fatal. A payee MUST send requirementId; without it the answer is 400 regardless of what else the body carries, including the payer-only fields. With it, a payee who also sends configurationId, externalId or a non-empty metadata gets 422 for that field. So a payee body copied from the payer example answers 400 first — drop the payer-only fields AND add requirementId, rather than reading the 400 as malformed and giving up.
A repeat is bounded rather than duplicated, but only where a duplicate could strand something. When the body cites a requirementId and no externalId, a second create against the same relationship and configuration returns the request already outstanding instead of opening another, and the repeat's metadata is not merged onto it. A payer's direct-order create cites no requirement, binds nothing and so is never deduplicated — a second order is a second request.
Supplying an externalId already in use for this payer account returns 409 ResourceConflict — create is not an upsert, and naming one opts out of the deduplication above. Recover by listing with ?filter[externalId][eq]= to retrieve the existing request.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||