---
title: "/api/stations/v1/interfaces"
slug: "apistationsv1interfaces-1"
updated: 2024-10-17T20:32:06Z
published: 2024-10-17T20:32:06Z
canonical: "support.tulip.co/apistationsv1interfaces-1"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://support.tulip.co/llms.txt
> Use this file to discover all available pages before exploring further.

# /api/stations/v1/interfaces

Post/api/stations/v1/interfaces

Creates an interface.

Query parametersreplaceInterfaceAtStationboolean

If set to true, indicates that if there is already an interface at the station it will be replaced.

Body parameters

The fields to create an interface.

<select class='api-response-data' aria-label='Media type'><option value='375d54af-0f3d-4d7e-972c-d5d69d80f0b5'>application/json</option>
</select>object 

Used to create an interface.

Example{
  "name": "iPad 5",
  "stationId": "78M2aGebq5MjhKafN"
}namestring    Required

The name of the interface.

Max length500
stationIdExampleg56RCoZCtzv7borvp
isRegistrationLinkReusableboolean    

Flag indicating whether the registration link for this interface can be used more than once. Only valid on Tulip instances using SAML or LDAP based logins. Setting this flag to true on a badge ID site will result in an error.

Defaultfalse

Responses200

The interface was successfully created.

<select class='api-response-data' aria-label='Media type'><option value='8df1ba23-8f47-41ea-9671-934d41a83beb'>application/json</option>
</select>Expand Allobject 

Represents an interface.

Example{
  "id": "swM2aGebq5MjhKafN",
  "name": "iPad 5",
  "type": "computer",
  "stationId": "78M2aGebq5MjhKafN",
  "registration": {
    "status": "pending",
    "mode": "link",
    "link": {
      "player": "http://acme.tulip.co/open-player?tulip-player=eyJhY3Rpb24iOiJyZWdpc3RlclVzaW5nUmVnaXM0cmF0aW9uSWRl",
      "browser": "http://acme.tulip.co/w/DEFAULT/player?registrationIdentifier=Ak72m5fU6_o1E16ARx-ewh-5x2CmmfBLoBkk0KFcUBI"
    }
  },
  "created": {
    "at": "2023-03-08T12:17:24Z",
    "by": {
      "id": "90M2aGebq5MjhKafN",
      "type": "user"
    }
  },
  "workspaces": {
    "scope": "specific",
    "workspaceIds": [
      "56M2aGebq5MjhKafN"
    ]
  }
}idExampleg56RCoZCtzv7borvp
namestring    

The name of the interface.

typestring    

The type of the interface.

Valid values[
  "computer",
  "mobile"
]
stationIdExampleg56RCoZCtzv7borvp
registrationobject (InterfaceRegistration) 

The registration information for the interface.

statusstring    

The status of this registration.

Valid values[
  "pending",
  "registered"
]
modestring    

The mode of this registration.

Valid values[
  "manual",
  "link"
]
tokenobject 

The token used to register the interface. The presence of this field will depend on user privileges.

valuestring    

The value of the token.

isActiveboolean    

Flag indicating whether the token is active.

isAutoGeneratedboolean    

Flag indicating whether the token was auto-generated.

linkobject 

The link used to register the interface.

playerstring    

Registration link to be used in player.

browserstring    

Registration link to be used in browser.

clientInfoobject (InterfaceClientInfo) 

The client information for the interface.

platformstring    

The client's platform.

playerVersionstring    

The Tulip player version for this client.

releaseChannelstring    

The client's release channel.

deviceInfoobject 

Information about the physical device or hardware running the Player application.

osstring    

The operating system name.

osVersionstring    

The operating system version.

osBuildstring    

The operating system build number.

manufacturerstring    

Manufacturer name.

modelstring    

Model name.

hardwareSerialNumberstring    

Hardware serial number.

createdatstring  (date-time)    

A date-time string as defined by [RFC 3339 §5.6](https://tools.ietf.org/html/rfc3339#section-5.6).

Example2022-11-21T07:59:10Z
byobject (ActorMetadata) 

Represents a user, api-token, or device.

typestring    Valid values[
  "user",
  "client",
  "api-token",
  "app-exchange-api-token",
  "celosx-api-token",
  "automation",
  "instance-init"
]
idExampleg56RCoZCtzv7borvp

lastModifiedatstring  (date-time)    

A date-time string as defined by [RFC 3339 §5.6](https://tools.ietf.org/html/rfc3339#section-5.6).

Example2022-11-21T07:59:10Z
byobject (ActorMetadata) 

Represents a user, api-token, or device.

typestring    Valid values[
  "user",
  "client",
  "api-token",
  "app-exchange-api-token",
  "celosx-api-token",
  "automation",
  "instance-init"
]
idExampleg56RCoZCtzv7borvp

archivedatstring  (date-time)    

A date-time string as defined by [RFC 3339 §5.6](https://tools.ietf.org/html/rfc3339#section-5.6).

Example2022-11-21T07:59:10Z
byobject (ActorMetadata) 

Represents a user, api-token, or device.

typestring    Valid values[
  "user",
  "client",
  "api-token",
  "app-exchange-api-token",
  "celosx-api-token",
  "automation",
  "instance-init"
]
idExampleg56RCoZCtzv7borvp

workspacesobject (WorkspaceMembership) 

A description of the workspaces of which a resource is a member. Workspace membership can have one of two `scope` values. A `scope` of `all` means that a resource is a member of all current and future workspaces. A `scope` of the value `specific` means that a resource is a member of a set of particular workspaces as described by the `workspaceIds` property.

Example{
  "scope": "specific",
  "workspaceIds": [
    "DEFAULT"
  ]
}#content#OneOfAllWorkspacesMembershipscopestring    

Describes a resource as a member of all current and future workspaces.

Valid values[
  "all"
]Exampleall

SpecificWorkspacesMembershipscopestring    

Describes a resource as a member of a set of specific workspaces.

Valid values[
  "specific"
]Examplespecific
workspaceIds Array of string (WorkspaceId)   

The workspaces in which a resource is a member.

string    ExampleDEFAULT

400

An error occurred. The Tulip error codes `generic.customerIdRequired`, `generic.workspaceIdRequired`, `generic.invalidParams`, `http.invalidBodyJson`, `http.invalidHeaders`, and `http.multiValueHeader` all use the 400 HTTP status code. See the documentation of the response content schema for details on these specific Tulip errors that could result in this status code.

<select class='api-response-data' aria-label='Media type'><option value='06d96ef0-8508-4484-a46b-8752f6703bf3'>application/json</option>
</select>Expand AllOneOfobjecterrorCodestring    

A machine-readable code identifying the type of error.

Pattern^[a-zA-Z0-9.]$
messagestring    

A human-readable description of the error intended for debugging purposes only.

The exact content of this message is not stable.

retryableboolean    

Whether the request can be automatically retried by the client.

objecterrorCodestring    

A machine-readable code identifying the type of error.

Pattern^[a-zA-Z0-9.]$
messagestring    

A human-readable description of the error intended for debugging purposes only.

The exact content of this message is not stable.

retryableboolean    

Whether the request can be automatically retried by the client.

objecterrorCodestring    

A machine-readable code identifying the type of error.

Pattern^[a-zA-Z0-9.]$
messagestring    

A human-readable description of the error intended for debugging purposes only.

The exact content of this message is not stable.

retryableboolean    

Whether the request can be automatically retried by the client.

objecterrorCodestring    

A machine-readable code identifying the type of error.

Pattern^[a-zA-Z0-9.]$
messagestring    

A human-readable description of the error intended for debugging purposes only.

The exact content of this message is not stable.

retryableboolean    

Whether the request can be automatically retried by the client.

objecterrorCodestring    

A machine-readable code identifying the type of error.

Pattern^[a-zA-Z0-9.]$
messagestring    

A human-readable description of the error intended for debugging purposes only.

The exact content of this message is not stable.

retryableboolean    

Whether the request can be automatically retried by the client.

objecterrorCodestring    

A machine-readable code identifying the type of error.

Pattern^[a-zA-Z0-9.]$
messagestring    

A human-readable description of the error intended for debugging purposes only.

The exact content of this message is not stable.

retryableboolean    

Whether the request can be automatically retried by the client.

detailsobject headerNamestring    

The name of the given HTTP header which had multiple values.

401

The request was missing required authentication information.

This error is not automatically retryable.

<select class='api-response-data' aria-label='Media type'><option value='64b50273-804e-4313-a7df-bc272fca1997'>application/json</option>
</select>object errorCodestring    

A machine-readable code identifying the type of error.

Pattern^[a-zA-Z0-9.]$
messagestring    

A human-readable description of the error intended for debugging purposes only.

The exact content of this message is not stable.

retryableboolean    

Whether the request can be automatically retried by the client.

404

The requested resource was not found.

This error is not automatically retryable.

<select class='api-response-data' aria-label='Media type'><option value='47cb5141-2974-4555-9485-c84ee2192c7b'>application/json</option>
</select>object errorCodestring    

A machine-readable code identifying the type of error.

Pattern^[a-zA-Z0-9.]$
messagestring    

A human-readable description of the error intended for debugging purposes only.

The exact content of this message is not stable.

retryableboolean    

Whether the request can be automatically retried by the client.

409

An error occurred. The Tulip error codes `stations.interfaceAlreadyAssignedAtStation` and `stations.resourceWithThisNameAlreadyExists` both use the 409 HTTP status code. See the documentation of the response content schema for details on these specific Tulip errors that could result in this status code.

<select class='api-response-data' aria-label='Media type'><option value='a11f1824-58bd-40ac-8f38-0697a8c45903'>application/json</option>
</select>Expand AllOneOfobjecterrorCodestring    

A machine-readable code identifying the type of error.

Pattern^[a-zA-Z0-9.]$
messagestring    

A human-readable description of the error intended for debugging purposes only.

The exact content of this message is not stable.

retryableboolean    

Whether the request can be automatically retried by the client.

detailsobject stationIdExampleg56RCoZCtzv7borvp

objecterrorCodestring    

A machine-readable code identifying the type of error.

Pattern^[a-zA-Z0-9.]$
messagestring    

A human-readable description of the error intended for debugging purposes only.

The exact content of this message is not stable.

retryableboolean    

Whether the request can be automatically retried by the client.

detailsobject namestring    
typestring    

422

An error occurred. The Tulip error codes `generic.resourceLimitInWorkspaceReached`, `stations.instanceDoesNotSupportReusableLinks`, `stations.invalidResourceName`, and `stations.referencedStationDoesNotExist` all use the 422 HTTP status code. See the documentation of the response content schema for details on these specific Tulip errors that could result in this status code.

<select class='api-response-data' aria-label='Media type'><option value='b410741f-7fd7-46c4-a519-dc220ea7b8d9'>application/json</option>
</select>Expand AllOneOfobjecterrorCodestring    

A machine-readable code identifying the type of error.

Pattern^[a-zA-Z0-9.]$
messagestring    

A human-readable description of the error intended for debugging purposes only.

The exact content of this message is not stable.

retryableboolean    

Whether the request can be automatically retried by the client.

detailsobject workspaceIdstring    
resourceTypestring    
limitnumber    

The limit of how many resources of the type can be in the workspace.

currentnumber    

The current number of resource of the type in the workspace.

objecterrorCodestring    

A machine-readable code identifying the type of error.

Pattern^[a-zA-Z0-9.]$
messagestring    

A human-readable description of the error intended for debugging purposes only.

The exact content of this message is not stable.

retryableboolean    

Whether the request can be automatically retried by the client.

objecterrorCodestring    

A machine-readable code identifying the type of error.

Pattern^[a-zA-Z0-9.]$
messagestring    

A human-readable description of the error intended for debugging purposes only.

The exact content of this message is not stable.

retryableboolean    

Whether the request can be automatically retried by the client.

detailsobject reasonstring    

objecterrorCodestring    

A machine-readable code identifying the type of error.

Pattern^[a-zA-Z0-9.]$
messagestring    

A human-readable description of the error intended for debugging purposes only.

The exact content of this message is not stable.

retryableboolean    

Whether the request can be automatically retried by the client.

detailsobject stationIdExampleg56RCoZCtzv7borvp

429

Too many requests have been made to this endpoint in a short time period.

This error is not automatically retryable.

<select class='api-response-data' aria-label='Media type'><option value='fc40dabd-147b-4617-bfbf-e4188ced17de'>application/json</option>
</select>Expand Allobject errorCodestring    

A machine-readable code identifying the type of error.

Pattern^[a-zA-Z0-9.]$
messagestring    

A human-readable description of the error intended for debugging purposes only.

The exact content of this message is not stable.

retryableboolean    

Whether the request can be automatically retried by the client.

detailsobject detailsstring    

Additional details about this endpoint's rate limits.

500

An internal server error occurred. Please contact [support@tulip.co](mailto:support@tulip.co) if the error persists.

This error is not automatically retryable.

<select class='api-response-data' aria-label='Media type'><option value='e12cb8ec-b101-41ca-823d-b1596ade88d4'>application/json</option>
</select>object errorCodestring    

A machine-readable code identifying the type of error.

Pattern^[a-zA-Z0-9.]$
messagestring    

A human-readable description of the error intended for debugging purposes only.

The exact content of this message is not stable.

retryableboolean    

Whether the request can be automatically retried by the client.
