---
title: "/api/stations/v1/stations"
slug: "apistationsv1stations-1"
updated: 2024-10-17T20:32:06Z
published: 2024-10-17T20:32:06Z
---

> ## 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/stations

Post/api/stations/v1/stations

Creates a station.

Body parameters

The fields to create a station.

<select class='api-response-data' aria-label='Media type'><option value='ce83dad0-820d-457b-b16c-d62b139b1aa7'>application/json</option>
</select>Expand Allobject 

Used to create a station.

Example{
  "name": "Boston Line 1",
  "description": "The primary station at line 1.",
  "appAssignments": [
    {
      "type": "app-folder",
      "tag": "latest-published",
      "appFolderId": "swM2aGebq5MjhKafN"
    }
  ],
  "stationGroupId": "78M2aGebq5MjhKafN",
  "timezone": "America/Denver"
}namestring    Required

The name of the station.

Max length500
descriptionstring    

A short description of the station.

Max length5000
appAssignments Array of object (GenericAppAssignment)   

The station's app assignments.

object 

Represents the contents of a single app assignment.

Example{
  "type": "app",
  "tag": "development",
  "appId": "swM2aGebq5MjhKafN"
}#content#OneOfAllAppAssignmenttypestring    RequiredValid values[
  "all"
]Default"all"
tagstring    Required

The tag of an app assignment. Determines if the app assignment refers to the development version of an app or the latest production version.

Valid values[
  "development",
  "latest-published"
]

FolderAppAssignmenttypestring    RequiredValid values[
  "app-folder"
]Default"app-folder"
tagstring    Required

The tag of an app assignment. Determines if the app assignment refers to the development version of an app or the latest production version.

Valid values[
  "development",
  "latest-published"
]
appFolderIdExampleg56RCoZCtzv7borvp

SpecificAppAssignmenttypestring    RequiredValid values[
  "app"
]Default"app"
tagstring    Required

The tag of an app assignment. Determines if the app assignment refers to the development version of an app or the latest production version.

Valid values[
  "development",
  "latest-published"
]
appIdExampleg56RCoZCtzv7borvp

VersionAppAssignmenttypestring    RequiredValid values[
  "app-version"
]Default"app-version"
appVersionIdExampleg56RCoZCtzv7borvp

stationGroupIdExampleg56RCoZCtzv7borvp
timezonestring    

A canonical IANA time zone identifier.

ExampleAmerica/New_York

Responses200

The station was successfully created.

<select class='api-response-data' aria-label='Media type'><option value='11689242-96ac-4c67-85cb-595e12982672'>application/json</option>
</select>Expand Allobject 

Represents a station.

Example{
  "id": "swM2aGebq5MjhKafN",
  "name": "Boston Line 1",
  "description": "Station for line 1 at the Boston location.",
  "stationGroupId": "12M453ebq5MjhKafN",
  "operatorId": "234M2aGebq5MjhKafN",
  "timezone": "America/New_York",
  "appExecutionState": {
    "stepId": "7psyeGebq5MjhKafN",
    "appVersionId": "58H1aGebp8DqkPaeV"
  },
  "created": {
    "at": "2023-03-08T12:17:24Z",
    "by": {
      "id": "90M2aGebq5MjhKafN",
      "type": "user"
    }
  },
  "lastModified": {
    "at": "2023-03-08T12:17:24Z",
    "by": {
      "id": "90M2aGebq5MjhKafN",
      "type": "user"
    }
  },
  "workspaces": {
    "scope": "specific",
    "workspaceIds": [
      "56M2aGebq5MjhKafN"
    ]
  }
}idExampleg56RCoZCtzv7borvp
namestring    

The name of the station.

descriptionstring    

A short description of the station.

appExecutionStateobject (AppExecutionState) 

Contains context about a station's current app execution.

Example{
  "appVersionId": "614M2uGrbq5BjhKrpQ",
  "stepId": "9834aGebq5MjhKafN"
}appVersionIdExampleg56RCoZCtzv7borvp
stepIdExampleg56RCoZCtzv7borvp

stationGroupIdExampleg56RCoZCtzv7borvp
operatorIdExampleg56RCoZCtzv7borvp
timezonestring    

A canonical IANA time zone identifier.

ExampleAmerica/New_York
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='789f363e-0543-4353-a4bc-81b283c5c559'>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='3d210e78-21af-4271-b592-68f3b3eb8cc5'>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='7868acd3-4b1c-48b8-8c9c-42d1b0ca79d5'>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

Resource with this name already exists in the workspace.

This error is not automatically retryable.

<select class='api-response-data' aria-label='Media type'><option value='cc540ec8-8dd5-4bb4-89e6-09f3df46ae3a'>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 namestring    
typestring    

422

An error occurred. The Tulip error codes `generic.resourceLimitInWorkspaceReached`, `stations.invalidReferencedResourceId`, `stations.invalidResourceDescription`, `stations.invalidResourceName`, and `stations.stationGroupStationsLimitReached` 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='15a8ec04-7c6f-4f7e-a680-322ff14f8bb5'>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.

details Array of object   

A list of invalid referenced resources.

object resourceIdstring    

The id of the invalid resource.

detailsstring    

Details about why the resource was invalid.

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 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 workspaceIdstring    
stationGroupIdstring    
limitnumber    

The limit of how many stations can be in the station group.

currentnumber    

The current number of stations in the station group.

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='b39a52ac-3830-49f6-acd4-6efb28234510'>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 error occurred. The Tulip error codes `generic.internal` and `stations.internalTypeValidationError` both use the 500 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='b7c7a487-799e-4625-a925-a9d5cb4eb48d'>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.

detailsobject resourceNamestring    

The name of the resource that failed validation.

resourceIdstring    

The id of the resource that failed validation.
