Skip to content
Connect an agent

Hosting

Combine one of your series into one diagram

Merges the flow parts of the account's series into one diagram and publishes it as the series' place 0, in the folder of its first part.

POST/user/diagrams/series/{seriesId}/combine

TL;DR

QuestionAnswer
What does it do?Combine one of your series into one diagram.
What does it take?seriesId in the path.
What does it return?Status 201 with a body of type CombinedHostedSeries.
What can go wrong?400 the series id is not letters, digits, - and _; 401 not signed in; 403 the plan has no room (hosting.quota_exceeded); 404 the account has no such series; 413 the combined diagram is larger than the plan hosts; 422 a part carries no source or is not a flow (diagram.series_not_combinable, details.parts), or the combined diagram has errors; 429 too many requests; 503 hosting is not set up on this server, or the engine is unavailable. Every failure uses the one error envelope.

What it does

Merges the flow parts of the account's series into one diagram and publishes it as the series' place 0, in the folder of its first part. Each part must carry its source.

Path parameters

FieldTypeRequiredDescription
seriesIdstringyesThe series id the parts were published with.

Responses

StatusMeaningBody
201The combined diagram and what went into it.CombinedHostedSeries
400The series id is not letters, digits, - and _.ErrorResponse
401Not signed in.ErrorResponse
403The plan has no room (hosting.quota_exceeded).ErrorResponse
404The account has no such series.ErrorResponse
413The combined diagram is larger than the plan hosts.ErrorResponse
422A part carries no source or is not a flow (diagram.series_not_combinable, details.parts), or the combined diagram has errors.ErrorResponse
429Too many requests.ErrorResponse
503Hosting is not set up on this server, or the engine is unavailable.ErrorResponse

Response body

A 201 answer has the type CombinedHostedSeries.

FieldTypeRequiredDescription
diagramPublishedDiagramyes
diagram.idstringyesThe handle for managing the diagram (delete). It is not in the link.
diagram.urlstringyesThe public address of the SVG. Anyone with the link can see it; the token in it cannot be guessed.
diagram.namestring | nullyesThe label given at publish, or null.
diagram.folderstring | nullyesThe folder it is filed in, such as Payments/Checkout, or null for the top level.
diagram.scheme"light" | "dark" | "auto"yesThe color scheme it was drawn in: light, dark, or auto.
diagram.bytesintegeryesSize of the stored SVG in bytes.
diagram.createdAtintegeryesWhen it was first published, in milliseconds since the epoch.
diagram.publishedAtintegeryesWhen it was last published, in milliseconds since the epoch. Publishing the same diagram again moves it.
diagram.expiresAtinteger | nullyesWhen it will be deleted, in milliseconds since the epoch, or null when the plan keeps diagrams until you delete them.
diagram.lockedbooleanyesTrue while the diagram is locked: it cannot be deleted, renamed or moved until you unlock it. A lock does not stop it expiring on a plan that expires diagrams.
diagram.lockedAtinteger | nullyesWhen it was locked, in milliseconds since the epoch, or null when it is not locked.
diagram.seriesDiagramSeriesyesIts place in a series (the parts of one split import), or null when it is in none.
diagram.series.idstringyesThe series id the parts were published with.
diagram.series.indexintegeryesIts place in the series, from 1; 0 is the whole import combined into one diagram.
diagram.series.totalinteger | nullyesHow many parts the publisher said the series has, or null.
diagram.createdbooleanyesTrue when this call stored a new diagram; false when the same diagram was already hosted and its link was kept.
diagram.stableLinkStableLinknoPresent only when the publish named an alias: the stable link, now pointing at this diagram.
diagram.stableLink.idstringyesThe handle for managing the stable link (delete). It is not in its address.
diagram.stableLink.aliasstringyesThe name you gave it. Only you see it.
diagram.stableLink.urlstringyesThe public address, on the CDN host. It shows the diagram the stable link points at now (cached for up to 60 seconds) and never changes. Anyone with it can see the picture.
diagram.stableLink.diagramIdstring | nullyesThe diagram it shows now, or null when that diagram was deleted or expired; the address then answers 404 until you point the link at a diagram again.
diagram.stableLink.createdAtintegeryesWhen it was made, in milliseconds since the epoch.
diagram.stableLink.updatedAtintegeryesWhen it was last pointed at a diagram, in milliseconds since the epoch.
mergedinteger[]yesThe places of the parts merged, in order.
skippedobject[]yesThe parts left out on purpose.
skipped[].indexintegeryes
skipped[].namestringyes
skipped[].reason"overview" | "combined"yesoverview: a split's overview, whose boxes stand for parts. combined: an earlier combined whole, which this one takes the place of.
linksobjectyesThe arrows between parts.
links.restoredintegeryesArrows a part drew to a dashed box of another part, now ending on the box itself.
links.keptintegeryesArrows that still end on a dashed box naming another part, because that part is not in the series.
notestringyesOne sentence for the person: what was merged and how the arrows between parts were drawn.

See also

DocWhy
API referenceEvery endpoint, and the error envelope
SchemasEvery request and response type
Tool referenceThe operations as callable tools