Skip to content
Start Trading

Locates

Query locate requests, granted locates, and cached locate borrow rates.

List Locate Rates
GET/v1/locates/rates
Get Locate Rate
GET/v1/locates/rates/{instrument_id}
List Locates
GET/v1/accounts/{account_id}/locates
Get Locate
GET/v1/accounts/{account_id}/locates/{id}
ModelsExpand Collapse
Locate object { account_id, client_request_id, effective_date, 9 more }

A locate request joined with the locate granted for it, if any.

account_id: number

Account the locate is booked to.

formatint64
client_request_id: string

Caller-assigned id of the locate request.

effective_date: string

New York calendar date the locate is in force for.

formatdate
instrument_id: string

Instrument id.

formatuuid
locate_request_id: string

Engine-assigned locate request id.

formatuuid
requested_quantity: number

Number of shares requested.

formatint64
status: LocateStatus

Presented status of the locate.

One of the following:
"REQUESTED"
"ACCEPTED"
"REJECTED"
"EXPIRED"
locate_id: optional string

Engine-assigned locate id; set once the locate is granted. When a null/undefined value is observed, it indicates it does not apply.

formatuuid
quantity: optional number

Number of shares granted; set once the locate is granted. When a null/undefined value is observed, it indicates it does not apply.

formatint64

Client order id the request relates to, if any. When a null/undefined value is observed, it indicates it does not apply.

formatuuid
reserved_quantity: optional number

Number of granted shares reserved. When a null/undefined value is observed, it indicates it does not apply.

formatint64
used_quantity: optional number

Number of granted shares already used. When a null/undefined value is observed, it indicates it does not apply.

formatint64
LocateList = array of Locate { account_id, client_request_id, effective_date, 9 more }
account_id: number

Account the locate is booked to.

formatint64
client_request_id: string

Caller-assigned id of the locate request.

effective_date: string

New York calendar date the locate is in force for.

formatdate
instrument_id: string

Instrument id.

formatuuid
locate_request_id: string

Engine-assigned locate request id.

formatuuid
requested_quantity: number

Number of shares requested.

formatint64
status: LocateStatus

Presented status of the locate.

One of the following:
"REQUESTED"
"ACCEPTED"
"REJECTED"
"EXPIRED"
locate_id: optional string

Engine-assigned locate id; set once the locate is granted. When a null/undefined value is observed, it indicates it does not apply.

formatuuid
quantity: optional number

Number of shares granted; set once the locate is granted. When a null/undefined value is observed, it indicates it does not apply.

formatint64

Client order id the request relates to, if any. When a null/undefined value is observed, it indicates it does not apply.

formatuuid
reserved_quantity: optional number

Number of granted shares reserved. When a null/undefined value is observed, it indicates it does not apply.

formatint64
used_quantity: optional number

Number of granted shares already used. When a null/undefined value is observed, it indicates it does not apply.

formatint64
LocateRate object { instrument_id, rate, as_of }

A locate borrow rate for an instrument.

instrument_id: string

Instrument id the rate applies to.

formatuuid
rate: string

Borrow rate, expressed as a decimal (e.g. 0.037012 for 3.7012%).

as_of: optional string

When the rate was requested from the locates venue.

formatdate-time
LocateRateResult object { instrument, error, rate }

A requested instrument with either its cached borrow rate or an error.

The instrument id (UUID) or symbol, echoed exactly as requested, so each result maps back to its request.

minLength1
error: optional APIError { code, message, details }

Why no rate is present — a 404 when the instrument is unknown or has no cached rate. Omitted when rate is present.

code: number

The error code is used to identify the nature of the error. It corresponds to an HTTP status code.

formatint32
minimum0
message: string

A human-readable message providing more details about the error.

details: optional array of map[unknown]

Additional error details, if any. This can include structured information such as field violations or error metadata.

rate: optional LocateRate { instrument_id, rate, as_of }

The cached borrow rate. Present when a rate was found; omitted when error is present.

instrument_id: string

Instrument id the rate applies to.

formatuuid
rate: string

Borrow rate, expressed as a decimal (e.g. 0.037012 for 3.7012%).

as_of: optional string

When the rate was requested from the locates venue.

formatdate-time
LocateRateResultList = array of LocateRateResult { instrument, error, rate }

The instrument id (UUID) or symbol, echoed exactly as requested, so each result maps back to its request.

minLength1
error: optional APIError { code, message, details }

Why no rate is present — a 404 when the instrument is unknown or has no cached rate. Omitted when rate is present.

code: number

The error code is used to identify the nature of the error. It corresponds to an HTTP status code.

formatint32
minimum0
message: string

A human-readable message providing more details about the error.

details: optional array of map[unknown]

Additional error details, if any. This can include structured information such as field violations or error metadata.

rate: optional LocateRate { instrument_id, rate, as_of }

The cached borrow rate. Present when a rate was found; omitted when error is present.

instrument_id: string

Instrument id the rate applies to.

formatuuid
rate: string

Borrow rate, expressed as a decimal (e.g. 0.037012 for 3.7012%).

as_of: optional string

When the rate was requested from the locates venue.

formatdate-time
LocateStatus = "REQUESTED" or "ACCEPTED" or "REJECTED" or "EXPIRED"

The presented status of a locate: the locate-request lifecycle plus EXPIRED for accepted locates whose effective date has passed.

One of the following:
"REQUESTED"
"ACCEPTED"
"REJECTED"
"EXPIRED"
LocateGetLocateRatesResponse = BaseResponse { metadata, error }
data: LocateRateResultList { instrument, error, rate }

The instrument id (UUID) or symbol, echoed exactly as requested, so each result maps back to its request.

minLength1
error: optional APIError { code, message, details }

Why no rate is present — a 404 when the instrument is unknown or has no cached rate. Omitted when rate is present.

code: number

The error code is used to identify the nature of the error. It corresponds to an HTTP status code.

formatint32
minimum0
message: string

A human-readable message providing more details about the error.

details: optional array of map[unknown]

Additional error details, if any. This can include structured information such as field violations or error metadata.

rate: optional LocateRate { instrument_id, rate, as_of }

The cached borrow rate. Present when a rate was found; omitted when error is present.

instrument_id: string

Instrument id the rate applies to.

formatuuid
rate: string

Borrow rate, expressed as a decimal (e.g. 0.037012 for 3.7012%).

as_of: optional string

When the rate was requested from the locates venue.

formatdate-time
LocateGetLocateRateByIDResponse = BaseResponse { metadata, error }
data: LocateRate { instrument_id, rate, as_of }

A locate borrow rate for an instrument.

instrument_id: string

Instrument id the rate applies to.

formatuuid
rate: string

Borrow rate, expressed as a decimal (e.g. 0.037012 for 3.7012%).

as_of: optional string

When the rate was requested from the locates venue.

formatdate-time
LocateGetLocatesResponse = BaseResponse { metadata, error }
data: LocateList { account_id, client_request_id, effective_date, 9 more }
account_id: number

Account the locate is booked to.

formatint64
client_request_id: string

Caller-assigned id of the locate request.

effective_date: string

New York calendar date the locate is in force for.

formatdate
instrument_id: string

Instrument id.

formatuuid
locate_request_id: string

Engine-assigned locate request id.

formatuuid
requested_quantity: number

Number of shares requested.

formatint64
status: LocateStatus

Presented status of the locate.

One of the following:
"REQUESTED"
"ACCEPTED"
"REJECTED"
"EXPIRED"
locate_id: optional string

Engine-assigned locate id; set once the locate is granted. When a null/undefined value is observed, it indicates it does not apply.

formatuuid
quantity: optional number

Number of shares granted; set once the locate is granted. When a null/undefined value is observed, it indicates it does not apply.

formatint64

Client order id the request relates to, if any. When a null/undefined value is observed, it indicates it does not apply.

formatuuid
reserved_quantity: optional number

Number of granted shares reserved. When a null/undefined value is observed, it indicates it does not apply.

formatint64
used_quantity: optional number

Number of granted shares already used. When a null/undefined value is observed, it indicates it does not apply.

formatint64
LocateGetLocateByIDResponse = BaseResponse { metadata, error }
data: Locate { account_id, client_request_id, effective_date, 9 more }

A locate request joined with the locate granted for it, if any.

account_id: number

Account the locate is booked to.

formatint64
client_request_id: string

Caller-assigned id of the locate request.

effective_date: string

New York calendar date the locate is in force for.

formatdate
instrument_id: string

Instrument id.

formatuuid
locate_request_id: string

Engine-assigned locate request id.

formatuuid
requested_quantity: number

Number of shares requested.

formatint64
status: LocateStatus

Presented status of the locate.

One of the following:
"REQUESTED"
"ACCEPTED"
"REJECTED"
"EXPIRED"
locate_id: optional string

Engine-assigned locate id; set once the locate is granted. When a null/undefined value is observed, it indicates it does not apply.

formatuuid
quantity: optional number

Number of shares granted; set once the locate is granted. When a null/undefined value is observed, it indicates it does not apply.

formatint64

Client order id the request relates to, if any. When a null/undefined value is observed, it indicates it does not apply.

formatuuid
reserved_quantity: optional number

Number of granted shares reserved. When a null/undefined value is observed, it indicates it does not apply.

formatint64
used_quantity: optional number

Number of granted shares already used. When a null/undefined value is observed, it indicates it does not apply.

formatint64