v1 > Services > DeclarationsCreate
Create one or more declarations in Origin.
URL
/connect/v1/declarations/create
/connect/v1/async/declarations/create
Method:
POST
URL Params
none
Request :
Field | Type | Required | Description | Domain of value |
---|---|---|---|---|
declarations[] |
array of object | At least one | The list of declarations to create | Declaration object(s) |
declarations[].locale |
string | Yes | An Origin supported locale | 'de', 'es_MX', 'en', 'fr' or 'zh_CN' |
declarations[].externalId |
string | Yes | The declaration unique ID in your system | Any string |
declarations[].declarationNumber |
string | No | The number of the declaration | Any string |
declarations[].url |
string | Only if declarations[].additionalsDocuments[] is empty |
The URL to the declaration document | A valid public facing URL |
declarations[].additionalsDocuments[] |
array of object | At least one if declarations[].url is empty |
The additional documents | Document object(s) |
declarations[].additionalsDocuments[].originalUrl |
string | Only if declarations[].additionalsDocuments[] is present |
URL of a document related to the declaration | A valid public facing URL |
declarations[].reportingBody |
object | Yes | The reporting body | A reporting body object |
declarations[].reportingBody.name |
string | Only allowed when declarations[].reportingBody.selfReported is absent |
The reporting body name. Remove self reported status if set. | An existing reporting body name in Origin |
declarations[].reportingBody.selfReported |
string | Only allowed when declarations[].reportingBody.name is absent |
Set the declarations as self reported. Erase existing reporting name if any. | TRUE |
declarations[].standard |
object | Yes | The certified standard | A standard object |
declarations[].standard.code |
string | Yes | The standard code | See StandardsLookup for a list of possible values |
declarations[].issueDate |
date | No | The date when the declaration is issued | A ISO-8601 date |
declarations[].expiryDate |
date | No | The date when the declaration will be expired | A ISO-8601 date |
declarations[].brands[] |
array of brand | No | The related brands | Brand object(s) |
declarations[].brands[].name |
string | Only if declarations[].brands[] is present |
The brand name | Any string |
declarations[].brands[].website |
string | No | The brand website | A valid public facing URL |
declarations[].contacts[] |
array of contact | No | The related contacts | Contact object(s) |
declarations[].contacts[].externalId |
string | Only if declarations[].contacts[] is present |
A unique identifier of your choosing that serves as a unique key for the contact | Any string |
declarations[].contacts[].type |
string | Only if declarations[].contacts[] is present |
The contact type | MANUFACTURER, AUDITOR or VENDOR |
declarations[].contacts[].companyName |
string | Only if declarations[].contacts[] is present |
The contact company name | Any string |
declarations[].contacts[].phone |
string | Only if declarations[].contacts[] is present and declarations[].email is empty |
The contact phone | Any string |
declarations[].contacts[].email |
string | Only if declarations[].contacts[] is present and declarations[].phone is empty |
The contact email | A valid email |
declarations[].contacts[].name |
string | No | The contact name | Any string |
declarations[].contacts[].website |
string | No | The contact website | A valid public facing URL |
declarations[].contacts[].postalAddress |
string | No | The contact postal address | Any string |
declarations[].channels[] |
array of object | No | The list of channels on which the declaration will be published | Channel object(s). Not published if empty. |
declarations[].channels[].name |
string | Only if declarations[].channels[] is present |
The channel name | 'ORIGIN' (more to come) |
declarations[].regulatoryStandardCompliances[] |
array of object | no | The regulatory standard compliances | RegulatoryStandardCompliance Object(s) |
declarations[].regulatoryStandardCompliances[].code |
string | Only if declarations[].regulatoryStandardCompliances[] |
The standard code | See standardProperties in StandardsLookup for a list of possible values |
declarations[].featuresCustoms[] |
array of object | No | The list of Origin Customs features | Custom feature object(s) |
declarations[].featuresCustoms[].name |
string | Only if declarations[].featuresCustoms[] is present |
The Custom feature name | Any string |
declarations[].featuresCustoms[].value |
string | Only if declarations[].featuresCustoms[] is present |
The Custom feature value | Any string |
declarations[].featuresProperties[] |
array of object | No | The list of Origin Properties features | Feature property object(s) |
declarations[].featuresProperties[].code |
string | Only if declarations[].featuresProperties[] is present |
The feature property name | See standardProperties in StandardsLookup for a list of possible values |
declarations[].featuresProperties[].value |
string | Only if declarations[].featuresProperties[] is present |
The feature property value | See PropertyDetailsLookup for a list of possible values |
declarations[].voc |
object | no | The VOC section | VOC object |
declarations[].voc.content |
object | no | The VOC Content section | VOC Content object |
declarations[].voc.content.densityLimitGL |
string | no | The density limit (g/L) | A decimal value |
declarations[].voc.content.containsAddedMCPCE |
string | yes | Flag for intentionally added Methylene Chloride and/or Perchloroethylene |
A boolean value |
declarations[].voc.content.regulatoryStandardCompliances[] |
array of object | Only if declarations[].voc.content.densityLimitGL is set |
The list of compliant standards | VOC Content compliance object(s) |
declarations[].voc.content.regulatoryStandardCompliances[].standard |
string | only if declarations[].voc.content.regulatoryStandardCompliances[] is present |
A compliant standard | Standard object |
declarations[].voc.content.regulatoryStandardCompliances[].standard.code |
string | only if declarations[].voc.content.regulatoryStandardCompliances[] is present |
The standard code | See VOC Content standard compliances for a list of possible values |
declarations[].voc.content.regulatoryStandardCompliances[].productTypeCode |
string | only if declarations[].voc.content.regulatoryStandardCompliances[] is present |
The product type code | See VOC Content standard compliances for a list of possible values |
declarations[].voc.content.regulatoryStandardCustoms[] |
array of object | no | The list of custom standards | Custom standard object(s) |
declarations[].voc.content.regulatoryStandardCustoms[].standard |
object | only if declarations[].voc.content.regulatoryStandardCustoms[] is present |
A custom standard | Standard object |
declarations[].voc.content.regulatoryStandardCustoms[].standard.code |
string | only if declarations[].voc.content.regulatoryStandardCustoms[] is present |
The custom standard code | Any string |
declarations[].voc.content.testMethods[] |
array of object | no | The list of standard test methods | Test method object(s) |
declarations[].voc.content.testMethods[].standard |
object | only if declarations[].voc.content.testMethods[] is present |
A test method standard | A standard object |
declarations[].voc.content.testMethods[].standard.code |
string | only if declarations[].voc.content.testMethods[] is present |
The standard code | See VOC Content test methods for a list of possible values |
declarations[].voc.content.exemptCompounds[] |
array of object | no | The list of exempt compounds | Exempt compound object(s) |
declarations[].voc.content.exemptCompounds[].CAS |
string | only if declarations[].voc.content.exemptCompounds[] is present |
CAS registry number | http://www.commonchemistry.org/ |
declarations[].voc.content.exemptCompounds[].name |
string | only if declarations[].voc.content.exemptCompounds[] is present |
Chemical name | http://www.commonchemistry.org/ |
declarations[].voc.content.exemptCompounds[].percentByWeight |
string | only if declarations[].voc.content.exemptCompounds[] is present |
Composition percent by weight | A decimal value |
declarations[].voc.emission |
object | no | The VOC Emission section | VOC Emission object |
declarations[].voc.emission.densityMin |
string | no | Minimum density in microgram per cubic meter (µg/m³) | A decimal value |
declarations[].voc.emission.densityMax |
string | no | Maximum density in microgram per cubic meter (µg/m³) | A decimal value |
declarations[].voc.emission.regulatoryStandardCompliances[] |
array of object | no | The list of compliant standard | VOC Emission compliance object(s) |
declarations[].voc.emission.regulatoryStandardCompliances[].standard |
object | only if declarations[].voc.emission.regulatoryStandardCompliances[] is present |
A compliant standard | Standard object |
declarations[].voc.emission.regulatoryStandardCompliances[].standard.code |
string | only if declarations[].voc.emission.regulatoryStandardCompliances[] is present |
The standard code | See VOC Emission standard compliances for a list of possible values |
- Sample Request (Required fields):
{
"declarations":[
{
"locale":"en",
"externalId":"ABC-123",
"url":"https://public.facing.url/declaration.pdf",
"declarationNumber":"123456",
"reportingBody":{
"name":"Veritas"
},
"standard":{
"code":"EPD"
}
}
]
}
- Sample Request (All fields):
{
"declarations":[
{
"locale":"en",
"externalId":"ABC-123",
"declarationNumber":"ABC-123-000001",
"url":"https://public.facing.url/declaration.pdf",
"additionalsDocuments":[
{
"originalUrl" : "https://public.facing.url/image.jpg"
}
],
"reportingBody":{
"name":"Veritas"
},
"standard":{
"code":"EPD"
},
"issueDate":"2008-09-15T15:53:00",
"expiryDate":"2010-09-15T15:53:00",
"brands":[
{
"name":"ACME Inc.",
"website":"www.acmexyz.com"
}
],
"contacts":[
{
"externalId":"JOHNSMITHVENDOR1",
"type":"VENDOR",
"companyName":"ACME Inc.",
"name":"John Smith",
"website":"https://www.acme.com/",
"postalAddress":"2500 Street Avenue P.O. Box 999 Manchester, PA 1234",
"phone":"1-999-123-1234",
"email":"salesrep@acme.com"
}
],
"channels":[
{
"name":"ORIGIN"
}
],
"regulatoryStandardCompliances":[
{
"code":"ISO 9001"
}
],
"featuresCustoms":[
{
"name":"Highest supported temperature",
"value":"1500C"
}
],
"featuresProperties":[
{
"name":"EPD_TYPE",
"value":"single-issue"
}
],
"voc":{
"content":{
"densityLimitGL":"10",
"containsAddedMCPCE":"true",
"regulatoryStandardCompliances":[
{
"standard":{
"code":"CARB SCM (2007)"
},
"productTypeCode":"Specialty Coatings - Bituminous Roof Coatings"
}
],
"regulatoryStandardCustoms":[
{
"standard":{
"code":"A CUSTOM CODE"
}
}
],
"testMethods":[
{
"standard":{
"code":"ASTM Methods D2369"
}
}
],
"exemptCompounds":[
{
"CAS":"142731-63-32",
"name":"TRANS-3-HEPTENE",
"percentByWeight":"1.9"
}
]
},
"emission":{
"densityMin":"250",
"densityMax":"500",
"regulatoryStandardCompliances":[
{
"standard":{
"code":"Blue Angel Elastic Floorings"
}
}
]
}
}
}
]
}
- Response (sync mode) :
Field | Type | Presence | Description | Domain of value |
---|---|---|---|---|
status |
object | Always | The execution status | A status object |
status.state |
string | Always | The state of execution | 'SUCCESS' or 'ERROR' |
status.code |
string | On error | The general error code and message | See Errors reference |
status.messages[] |
array of string | On error | List of error causes | A validation message or other causes |
result |
object | On success | The execution result | A result object |
result.entityType |
string | On success | The type of entity this result is about | 'DECLARATION' |
result.correlations[] |
object | On success | The identity correlations for all processed declarations | An array of correlation objects |
result.correlations[].externalId |
string | On success | The external ID of the declaration provided in the request | Any string |
result.correlations[].originId |
string | On success | The origin ID assigned to the create declaration | A valid UUID |
connectRequest |
object | Always | The exact request sent that produced this response | A DeclarationsCreate request |
Sample Response (Success in sync mode):
HTTP Code : 200
{
"status":{
"state":"SUCCESS"
},
"result":{
"entityType":"DECLARATION",
"correlations":[
{
"externalId":"ABC-123",
"originId":"f6f2c73e-4054-44bc-95f2-9e033b9c2282"
}
]
},
"connectRequest":{
"declarations":[
{
"locale":"en",
"externalId":"ABC-123",
"declarationNumber":"123456",
"url":"https://public.facing.url/declaration.pdf",
"reportingBody":{
"name":"Veritas"
},
"standard":{
"code":"EPD"
}
}
]
}
}
- Response (async mode):
Field | Type | Presence | Description | Domain of value |
---|---|---|---|---|
status |
object | Always | The execution status | A status object |
status[].state |
string | Always | The state of execution | 'SUCCESS' or 'ERROR' |
status[].code |
string | On error | The general error code and message | See Errors reference |
status[].messages[] |
array of string | On error | List of error causes | A validation message or other causes |
result |
object | On success | The execution result | A result object |
result.poolingCallback |
string | On success | The URL callback to pool using the ResultGet endpoint | A URL |
connectRequest |
object | Always | The exact request you sent that produced this response | A DeclarationsCreate request |
Sample Response (Success in async mode):
HTTP Code : 200
{
"status":{
"state":"SUCCESS"
},
"result":{
"poolingCallback":"https://origin.build/equinox/connect/v1/result/declarations_create/batch/1c8a06b6-45be-4e68-9e2d-5c1f075e6ca2"
},
"connectRequest":{
"declarations":[
{
"locale":"en",
"externalId":"ABC-123",
"declarationNumber":"123456",
"url":"https://public.facing.url/declaration.pdf",
"reportingBody":{
"name":"Veritas"
},
"standard":{
"code":"EPD"
}
}
]
}
}
Sample Response (Error):
HTTP Code : 400, 500
{
"status":{
"state":"ERROR",
"code":"CE00001 - Connect request failed validation. Refer to provided messages for details.",
"messages":[
"declarations[1] require one locale.",
"declarations[1] require one externalId.",
"declarations[1] require one reportingBody.name.",
"declarations[1] require one standard.code.",
"declarations[1] has an invalid date format for issueDate. Date must be ISO-8601.",
"declarations[1] require one url or additionalsDocuments."
]
},
"connectRequest":{
"declarations":[
{
"declarationNumber":"123456",
"issueDate":"2017-09-15T15:53:00ZBC",
"expiryDate":"2018-09-15T15:53:00"
}
]
}
}