Skip to content
getgeolens.com

Arcgis Signin

POST
/services/arcgis/signin/
curl --request POST \
--url https://example.com/services/arcgis/signin/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "portal_url": "example", "username": "example", "password": "example" }'

Sign in to an ArcGIS portal and return a short-lived token.

Asks the portal’s own token service for a token valid for 60 minutes and returns it. Put that token in the token field on probe, preview, commit and refresh; an import that runs longer than the token lives fails with a credential error and has to start over.

An account that signs in through an identity provider, or that has multifactor authentication turned on, cannot use this. Paste a token or an API key instead. A portal on a private network is unreachable either way.

Media type application/json
ArcGISSignInRequest

Portal address plus the credentials one generateToken call needs.

No character policy on the two credential fields, deliberately. They are form-encoded into the outbound body, which percent-escapes every value, so neither a control character nor a separator can smuggle a second field into the request the way one can into a header line. The length bounds are here to keep an absurd body from reaching the portal at all.

object
portal_url
required
Portal Url

ArcGIS portal URL, for example https://your-org.maps.arcgis.com. The /sharing/rest base is accepted too.

string
>= 1 characters <= 2048 characters
username
required
Username

ArcGIS account name to sign in with.

string
>= 1 characters <= 256 characters
password
required
Password

Password for that ArcGIS account.

string
>= 1 characters <= 1024 characters
Example generated
{
"portal_url": "example",
"username": "example",
"password": "example"
}

Successful Response

Media type application/json
ArcGISSignInResponse

The minted portal token and nothing else about the account.

object
token
required
Token

Short-lived ArcGIS portal token. Use it as the token field on probe, preview, commit and refresh.

string
expires_at
required
Expires At

UTC instant at which the portal stops accepting the token.

string format: date-time
Example generated
{
"token": "example",
"expires_at": "2026-04-15T12:00:00Z"
}

Bad request — invalid payload

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Unauthorized — missing or invalid credentials

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Forbidden — caller lacks write access

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Not found

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Conflict — resource state prevents the operation

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Validation error

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Too many requests — retry after the advertised interval

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}
Retry-After
integer

Seconds until the request may be retried

Internal server error

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Bad gateway — the ArcGIS portal could not be reached or did not answer with a sign-in response

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Service unavailable — the database could not serve the request

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Gateway timeout — the ArcGIS portal did not respond in time

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}