ArtifactService_v1 Resource

Handle Node namespace

POST /v1/exists

Determine if nodes exists

Request Body
media type data type description
application/familysearch+xml existsListQuery (XML) ExistsListQuery - List of Node Locators
application/json ExistsListQuery (JSON)
application/xml existsListQuery (XML)
Response Body
media type data type description
application/familysearch+xml existsList (XML) ExistsList List of nodes that exists, name and date
application/json ExistsList (JSON)
application/xml existsList (XML)
text/xml existsList (XML)

Example

Request
POST /v1/exists
Content-Type: application/familysearch+xml
Accept: application/familysearch+xml

                
<existsListQuery xmlns="http://digitalarchive.familysearch.org/v1">
  <nodeLocatorList>...</nodeLocatorList>
</existsListQuery>

                
              
Response
HTTP/1.1 201 Created
Content-Type: application/familysearch+xml

                
<existsList xmlns="http://digitalarchive.familysearch.org/v1">
  <exists date="..." exists="..." nodeLocator="..."/>
</existsList>

                
              

DELETE /v1/{nodeLocator}

Delete Node.

Request Parameters
name type description
nodeLocator path String used to identify an Node, e.g. apid:{apid}, dgs:{9}.{9-5}
children query

Example

Request
DELETE /v1/{nodeLocator}

              
Response
HTTP/1.1 204 No Content

              

GET /v1/{nodeLocator}

Get node data for a Node

Request Parameters
name type description
nodeLocator path String used to identify an Node, e.g. apid:{apid}, dgs:{9}.{9-5}
Response Body
media type data type description
application/familysearch+xml nodeData (XML) NodeData
application/json NodeData (JSON)
application/xml nodeData (XML)
text/xml nodeData (XML)

Example

Request
GET /v1/{nodeLocator}
Accept: application/familysearch+xml

              
Response
HTTP/1.1 200 OK
Content-Type: application/familysearch+xml

                
<nodeData apid="..." childCount="..." lastMod="..." name="..." streamCount="..." xmlns="http://digitalarchive.familysearch.org/v1">
  <templates name="..." template="..."/>
  <link href="..." rel="..." type="..."/>
</nodeData>

                
              

HEAD /v1/{nodeLocator}

Does node exists? returns status HTTP.OK if exists, otherwise HTTP.NOT_FOUND

Request Parameters
name type description
nodeLocator path String used to identify an Node, e.g. apid:{apid}, dgs:{9}.{9-5}

Example

Request
HEAD /v1/{nodeLocator}

              
Response
HTTP/1.1 200 OK

              

PUT /v1/{nodeLocator}

Create a node

Request Parameters
name type description
Content-type header Mime Type of input stream (optional)
nodeLocator path String used to identify an Node, e.g. apid:{apid}, dgs:{9}.{9-5}
apid query Apid for new node (optional)
hasStream query True if stream is to be created (optional, default=false)
Request Body
media type data type description
application/json object (JSON) InputStream if stream is to be created (optional)
application/xml anyType (XML)
Response Body
media type data type description
application/familysearch+xml nodeData (XML) NodeData
application/json NodeData (JSON)
application/xml nodeData (XML)
text/xml nodeData (XML)

Example

Request
PUT /v1/{nodeLocator}
Content-Type: application/json
Accept: application/familysearch+xml
Content-type: ...

                
...
                
              
Response
HTTP/1.1 204 No Content
Content-Type: application/familysearch+xml

                
<nodeData apid="..." childCount="..." lastMod="..." name="..." streamCount="..." xmlns="http://digitalarchive.familysearch.org/v1">
  <templates name="..." template="..."/>
  <link href="..." rel="..." type="..."/>
</nodeData>

                
              

GET /v1/{nodeLocator}/children

Get node's children

Request Parameters
name type description constraints
nodeLocator path String used to identify an Node, e.g. apid:{apid}, dgs:{9}.{9-5}  
count query Max number of children NodeData to return (optional) int
pos query Opaque string used to keep position (optional) int
Response Body
media type data type description
application/familysearch+xml childrenData (XML) ChildrenData
application/json ChildrenData (JSON)
application/xml childrenData (XML)
text/xml childrenData (XML)

Example

Request
GET /v1/{nodeLocator}/children
Accept: application/familysearch+xml

              
Response
HTTP/1.1 200 OK
Content-Type: application/familysearch+xml

                
<childrenData baseUrl="..." position="..." xmlns="http://digitalarchive.familysearch.org/v1">
  <children apid="..." locator="..." name="..." order="..."/>
  <templates name="..." template="..."/>
</childrenData>

                
              

GET /v1/{nodeLocator}/streams

Get a list of node's stream data

Request Parameters
name type description
nodeLocator path String used to identify an Node, e.g. apid:{apid}, dgs:{9}.{9-5}
Response Body
media type data type description
application/familysearch+xml streams (XML) Streams
application/json Streams (JSON)
application/xml streams (XML)
text/xml streams (XML)

Example

Request
GET /v1/{nodeLocator}/streams
Accept: application/familysearch+xml

              
Response
HTTP/1.1 200 OK
Content-Type: application/familysearch+xml

                
<streams baseUrl="..." xmlns="http://digitalarchive.familysearch.org/v1">
  <streamList apid="..." name="..." nodeLocator="..."/>
  <link href="..." rel="..." type="..."/>
</streams>

                
              

DELETE /v1/{nodeLocator}/{streamName}

Delete an artifact stream

Request Parameters
name type description
nodeLocator path String used to identify an Node, e.g. apid:{apid}, dgs:{9}.{9-5}
streamName path - Name of the stream
version query Version of the stream

Example

Request
DELETE /v1/{nodeLocator}/{streamName}

              
Response
HTTP/1.1 204 No Content

              

HEAD /v1/{nodeLocator}/{streamName}

Request Parameters
name type description
nodeLocator path String used to identify an Node, e.g. apid:{apid}, dgs:{9}.{9-5}
streamName path Name of the stream
version query Version of the stream

Example

Request
HEAD /v1/{nodeLocator}/{streamName}

              
Response
HTTP/1.1 200 OK

              

POST /v1/{nodeLocator}/{streamName}

Overwrite an artifact stream

Request Parameters
name type description
nodeLocator path String used to identify an Node, e.g. apid:{apid}, dgs:{9}.{9-5}
streamName path - Name of the stream
version query Version of the stream
Request Body
media type data type description
application/json object (JSON) - InputStream
application/xml anyType (XML)

Example

Request
POST /v1/{nodeLocator}/{streamName}
Content-Type: application/json

                
...
                
              
Response
HTTP/1.1 201 Created

              

PUT /v1/{nodeLocator}/{streamName}

Create an artifact stream

Request Parameters
name type description
Content-Type header
nodeLocator path String used to identify an Node, e.g. apid:{apid}, dgs:{9}.{9-5}
streamName path Name of the stream
version query Version of the stream
Request Body
media type data type description
application/json object (JSON) InputStream
application/xml anyType (XML)

Example

Request
PUT /v1/{nodeLocator}/{streamName}
Content-Type: application/json
Content-Type: ...

                
...
                
              
Response
HTTP/1.1 204 No Content

              

GET /v1/{nodeLocator}/{streamName}/data

Get information about the artifact stream

Request Parameters
name type description
nodeLocator path String used to identify an Node, e.g. apid:{apid}, dgs:{9}.{9-5}
streamName path - Name of the stream
Response Body
media type data type description
application/familysearch+xml streamData (XML) Stream
application/json StreamData (JSON)
application/xml streamData (XML)
text/xml streamData (XML)

Example

Request
GET /v1/{nodeLocator}/{streamName}/data
Accept: application/familysearch+xml

              
Response
HTTP/1.1 200 OK
Content-Type: application/familysearch+xml

                
<streamData apid="..." checksum="..." length="..." modifiedTime="..." name="..." nodeLocator="..." type="..." xmlns="http://digitalarchive.familysearch.org/v1">
  <versions>...</versions>
</streamData>