curl --request GET \
--url https://api.stage.origin.one/api/v2/orders \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.stage.origin.one/api/v2/orders', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.stage.origin.one/api/v2/orders"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11",
"object": "order",
"code": "CPmJ6QbYMo",
"agency": {
"code": "FAA",
"id": "3",
"object": "agency",
"url": "/api/v2/agencies/3"
},
"clinic": {
"address": {
"city": "Seattle",
"country": "US",
"line1": "123 Main St",
"line2": "Suite 400",
"object": "address",
"postalCode": "98101",
"state": "WA"
},
"id": "42",
"name": "Austin Downtown Clinic",
"object": "clinic",
"phone": "+1-512-555-0100",
"url": "/api/v2/clinics/42"
},
"company": {
"id": "123",
"name": "Acme Inc",
"object": "company",
"url": "/api/v2/companies/123"
},
"createdAt": "2026-09-24T09:00:00.000Z",
"expiresAt": "2026-09-24T15:15:00.000Z",
"isFinal": false,
"jobCategory": {
"id": "3987402f-e963-45a9-8799-b9ea6621adae",
"name": "Flight Crewmember",
"object": "jobCategory",
"url": "/api/v2/agencies/3/jobCategories/3987402f-e963-45a9-8799-b9ea6621adae"
},
"location": {
"id": "456",
"name": "Acme Downtown",
"object": "location",
"url": "/api/v2/locations/456"
},
"otherTestReason": "courtOrdered",
"packages": [
{
"id": "789",
"name": "DOT Pre-Employment Drug Test",
"object": "package",
"url": "/api/v2/packages/789"
}
],
"participant": {
"address": {
"city": "Seattle",
"country": "US",
"line1": "123 Main St",
"line2": "Suite 400",
"object": "address",
"postalCode": "98101",
"state": "WA"
},
"birthDate": "1980-11-11",
"email": "john.doe@example.com",
"firstName": "John",
"lastName": "Doe",
"middleName": "Q",
"phone": "+13033232323",
"identifiers": [
{
"issuingCountry": "US",
"issuingState": "WA",
"object": "participantIdentifier",
"type": "driverLicense",
"value": "D1234567"
}
]
},
"services": [
{
"attributes": {
"category": "standardPanels",
"type": "urine"
},
"courierServiceName": "FedEx",
"id": "<string>",
"isDot": false,
"isFinal": false,
"lab": {
"id": "64cba816-3c52-4a63-9d0e-0f2b5d1a7e11",
"name": "CRL",
"object": "vendor",
"type": "lab"
},
"name": "5 Panel Urine",
"object": "orderService",
"screenHistory": [
{
"object": "orderServiceScreenHistory",
"occurredAt": "2026-09-24T15:15:00.000Z",
"type": "specimenCollected"
}
],
"specimenId": "SP-1",
"status": "pending_collectionCompleted",
"statusHistory": [
{
"groupType": "specimenCollected",
"object": "orderServiceStatusHistory",
"occurredAt": "2026-09-24T15:15:00.000Z",
"status": "pending_collectionCompleted"
}
],
"statusUpdatedAt": "2026-09-24T15:15:00.000Z",
"trackingNumber": "1Z999AA10123456784"
}
],
"status": "pending",
"statusUpdatedAt": "2026-09-24T15:15:00.000Z",
"testReason": "preEmployment",
"updatedAt": "2026-09-24T15:20:00.000Z",
"url": "/api/v2/orders/a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11",
"matched": {
"originalSource": "app",
"score": 100
}
}
],
"limit": 10,
"page": 1,
"total": 1
}{
"error": "Bad Request",
"errors": [
{
"code": "tooSmall",
"detail": "Too small: expected number to be >=1",
"meta": {},
"source": {
"pointer": "/page"
}
}
],
"statusCode": 400
}{
"error": "Bad Request",
"errors": [
{
"code": "tooSmall",
"detail": "Too small: expected number to be >=1",
"meta": {},
"source": {
"pointer": "/page"
}
}
],
"statusCode": 400
}{
"error": "Bad Request",
"errors": [
{
"code": "tooSmall",
"detail": "Too small: expected number to be >=1",
"meta": {},
"source": {
"pointer": "/page"
}
}
],
"statusCode": 400
}{
"error": "Bad Request",
"errors": [
{
"code": "tooSmall",
"detail": "Too small: expected number to be >=1",
"meta": {},
"source": {
"pointer": "/page"
}
}
],
"statusCode": 400
}List orders
Returns the orders placed at locations under the companies linked to the API token, newest first. Filterable by company, location, status, order code, specimen, and creation time. There is no implicit date window: every visible order is listed unless createdFrom/createdTo narrow it. An order with no location, or at a location that belongs to no company, is never listed. The creation-time filters find new orders, not changed ones: to follow status changes, subscribe with the callback when creating the order. The participant’s identifiers are included only for tokens that also carry order.participant.read. Requires the order.list scope.
curl --request GET \
--url https://api.stage.origin.one/api/v2/orders \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.stage.origin.one/api/v2/orders', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.stage.origin.one/api/v2/orders"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11",
"object": "order",
"code": "CPmJ6QbYMo",
"agency": {
"code": "FAA",
"id": "3",
"object": "agency",
"url": "/api/v2/agencies/3"
},
"clinic": {
"address": {
"city": "Seattle",
"country": "US",
"line1": "123 Main St",
"line2": "Suite 400",
"object": "address",
"postalCode": "98101",
"state": "WA"
},
"id": "42",
"name": "Austin Downtown Clinic",
"object": "clinic",
"phone": "+1-512-555-0100",
"url": "/api/v2/clinics/42"
},
"company": {
"id": "123",
"name": "Acme Inc",
"object": "company",
"url": "/api/v2/companies/123"
},
"createdAt": "2026-09-24T09:00:00.000Z",
"expiresAt": "2026-09-24T15:15:00.000Z",
"isFinal": false,
"jobCategory": {
"id": "3987402f-e963-45a9-8799-b9ea6621adae",
"name": "Flight Crewmember",
"object": "jobCategory",
"url": "/api/v2/agencies/3/jobCategories/3987402f-e963-45a9-8799-b9ea6621adae"
},
"location": {
"id": "456",
"name": "Acme Downtown",
"object": "location",
"url": "/api/v2/locations/456"
},
"otherTestReason": "courtOrdered",
"packages": [
{
"id": "789",
"name": "DOT Pre-Employment Drug Test",
"object": "package",
"url": "/api/v2/packages/789"
}
],
"participant": {
"address": {
"city": "Seattle",
"country": "US",
"line1": "123 Main St",
"line2": "Suite 400",
"object": "address",
"postalCode": "98101",
"state": "WA"
},
"birthDate": "1980-11-11",
"email": "john.doe@example.com",
"firstName": "John",
"lastName": "Doe",
"middleName": "Q",
"phone": "+13033232323",
"identifiers": [
{
"issuingCountry": "US",
"issuingState": "WA",
"object": "participantIdentifier",
"type": "driverLicense",
"value": "D1234567"
}
]
},
"services": [
{
"attributes": {
"category": "standardPanels",
"type": "urine"
},
"courierServiceName": "FedEx",
"id": "<string>",
"isDot": false,
"isFinal": false,
"lab": {
"id": "64cba816-3c52-4a63-9d0e-0f2b5d1a7e11",
"name": "CRL",
"object": "vendor",
"type": "lab"
},
"name": "5 Panel Urine",
"object": "orderService",
"screenHistory": [
{
"object": "orderServiceScreenHistory",
"occurredAt": "2026-09-24T15:15:00.000Z",
"type": "specimenCollected"
}
],
"specimenId": "SP-1",
"status": "pending_collectionCompleted",
"statusHistory": [
{
"groupType": "specimenCollected",
"object": "orderServiceStatusHistory",
"occurredAt": "2026-09-24T15:15:00.000Z",
"status": "pending_collectionCompleted"
}
],
"statusUpdatedAt": "2026-09-24T15:15:00.000Z",
"trackingNumber": "1Z999AA10123456784"
}
],
"status": "pending",
"statusUpdatedAt": "2026-09-24T15:15:00.000Z",
"testReason": "preEmployment",
"updatedAt": "2026-09-24T15:20:00.000Z",
"url": "/api/v2/orders/a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11",
"matched": {
"originalSource": "app",
"score": 100
}
}
],
"limit": 10,
"page": 1,
"total": 1
}{
"error": "Bad Request",
"errors": [
{
"code": "tooSmall",
"detail": "Too small: expected number to be >=1",
"meta": {},
"source": {
"pointer": "/page"
}
}
],
"statusCode": 400
}{
"error": "Bad Request",
"errors": [
{
"code": "tooSmall",
"detail": "Too small: expected number to be >=1",
"meta": {},
"source": {
"pointer": "/page"
}
}
],
"statusCode": 400
}{
"error": "Bad Request",
"errors": [
{
"code": "tooSmall",
"detail": "Too small: expected number to be >=1",
"meta": {},
"source": {
"pointer": "/page"
}
}
],
"statusCode": 400
}{
"error": "Bad Request",
"errors": [
{
"code": "tooSmall",
"detail": "Too small: expected number to be >=1",
"meta": {},
"source": {
"pointer": "/page"
}
}
],
"statusCode": 400
}Authorizations
Origin One API token. Pass it in the Authorization header: Authorization: Bearer <token>.
Query Parameters
Number of items per page (max 20).
1 <= x <= 2010
Page of results to return (1-based).
1 <= x <= 100001
Filter by company. A company that is inactive, deleted, or not linked to the API token returns an empty page.
"123"
Only orders created at or after this time (ISO 8601 date-time with offset).
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$"2026-09-01T00:00:00Z"
Only orders created before this time (ISO 8601 date-time with offset). Exclusive, so consecutive ranges never overlap.
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$"2026-09-01T00:00:00Z"
Filter by location. A location outside the API token’s companies returns an empty page.
"123"
Filter by order code (exact match).
1 - 255"CPmJ6QbYMo"
Only orders with a service whose specimen has this identifier (exact match).
1 - 255"SP-1"
Filter by order status (exact match).
adulterated, cancelled, complete, expired, fail, fitForDuty, incomplete, integrationError, negative, lostInTransit, nonNegative, noShow, notFitForDuty, ordered, pass, pending, positive, released, scheduled, substituted, testCancelled, testNotPerformed, unobtainable "pending"